Aracılığıyla paylaş


XDocument sınıfına genel bakış

XDocument sınıfı, xml bildirimi, işleme yönergeleri ve açıklamalar içeren geçerli bir XML belgesi için gerekli bilgileri içerir.

Yalnızca sınıfı tarafından XDocument sağlanan belirli işlevlere ihtiyacınız varsa nesneleri oluşturmanız XDocument gerekir. Birçok durumda doğrudan ile XElementçalışabilirsiniz. Doğrudan ile XElement çalışmak daha basit bir programlama modelidir.

XDocument alt düğümler içerebilmesi için öğesinden XContainertüretilir. Ancak, XDocument nesneler yalnızca bir alt XElement düğüme sahip olabilir. Bu, XML belgesinde yalnızca bir kök öğe olabileceği XML standardını yansıtır.

XDocument Bileşenleri

aşağıdaki XDocument öğeleri içerebilir:

  • Bir XDeclaration nesne. XDeclaration XML bildiriminin ilgili bölümlerini belirtmenizi sağlar: XML sürümü, belgenin kodlaması ve XML belgesinin tek başına olup olmadığı.
  • Bir XElement nesne. Bu nesne, XML belgesinin kök düğümüdür.
  • Herhangi bir XProcessingInstruction sayıda nesne. İşleme yönergesi, XML'yi işleyen bir uygulamaya bilgi iletir.
  • Herhangi bir XComment sayıda nesne. Açıklamalar, kök öğeyle eşdüzey olur.
  • DTD için bir tane XDocumentType .

bir öğesini seri hale XDocumentgetirdiğinizde, XDocument.Declarationnullyazıcı Writer.Settings.OmitXmlDeclaration (varsayılan) olarak ayarlanmışsa false çıktının XML bildirimi olur.

Varsayılan olarak, LINQ to XML sürümü "1.0" olarak ayarlar ve kodlamayı "utf-8" olarak ayarlar.

XElement'i XDocument olmadan kullanma

Daha önce belirtildiği gibi sınıfı LINQ XElement to XML programlama arabirimindeki ana sınıftır. Çoğu durumda, uygulamanız bir belge oluşturmanızı gerektirmez. sınıfını XElement kullanarak şunları yapabilirsiniz:

  • XML ağacı oluşturma.
  • Buna başka XML ağaçları ekleyin.
  • XML ağacını değiştirin.
  • Kaydedin.

XDocument kullanma

oluşturmak XDocumentiçin, nesneleri oluşturmak XElement için yaptığınız gibi işlevsel bir yapı kullanın.

Aşağıdaki örnek bir XDocument nesne ve ilişkili kapsanan nesneleri oluşturur.

XDocument d = new XDocument(
    new XComment("This is a comment."),
    new XProcessingInstruction("xml-stylesheet",
        "href='mystyle.css' title='Compact' type='text/css'"),
    new XElement("Pubs",
        new XElement("Book",
            new XElement("Title", "Artifacts of Roman Civilization"),
            new XElement("Author", "Moreno, Jordao")
        ),
        new XElement("Book",
            new XElement("Title", "Midieval Tools and Implements"),
            new XElement("Author", "Gazit, Inbar")
        )
    ),
    new XComment("This is another comment.")
);
d.Declaration = new XDeclaration("1.0", "utf-8", "true");
Console.WriteLine(d);

d.Save("test.xml");
Dim doc As XDocument = <?xml version="1.0" encoding="utf-8"?>
                       <!--This is a comment.-->
                       <?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>
                       <Pubs>
                           <Book>
                               <Title>Artifacts of Roman Civilization</Title>
                               <Author>Moreno, Jordao</Author>
                           </Book>
                           <Book>
                               <Title>Midieval Tools and Implements</Title>
                               <Author>Gazit, Inbar</Author>
                           </Book>
                       </Pubs>
                       <!--This is another comment.-->
doc.Save("test.xml")

Örnek bu çıkışı test.xml oluşturur:

<?xml version="1.0" encoding="utf-8"?>
<!--This is a comment.-->
<?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>
<Pubs>
  <Book>
    <Title>Artifacts of Roman Civilization</Title>
    <Author>Moreno, Jordao</Author>
  </Book>
  <Book>
    <Title>Midieval Tools and Implements</Title>
    <Author>Gazit, Inbar</Author>
  </Book>
</Pubs>
<!--This is another comment.-->

Ayrıca bkz.