Bagikan melalui


Gambaran umum kelas XDocument

Kelas XDocument berisi informasi yang diperlukan untuk dokumen XML yang valid, yang mencakup deklarasi XML, instruksi pemrosesan, dan komentar.

Anda hanya perlu membuat XDocument objek jika Anda memerlukan fungsionalitas tertentu yang disediakan oleh XDocument kelas. Dalam banyak keadaan, Anda dapat bekerja langsung dengan XElement. Bekerja langsung dengan XElement adalah model pemrograman yang lebih sederhana.

XDocument berasal dari XContainer, sehingga dapat berisi node anak. Namun, XDocument objek hanya dapat memiliki satu node anak XElement. Ini mencerminkan standar XML bahwa hanya ada satu elemen akar dalam dokumen XML.

Komponen XDocument

Ini XDocument dapat berisi elemen berikut:

  • Satu XDeclaration objek. XDeclaration memungkinkan Anda menentukan bagian terkait dari deklarasi XML: versi XML, pengodean dokumen, dan apakah dokumen XML mandiri.
  • Satu XElement objek. Objek ini adalah node akar dokumen XML.
  • Setiap jumlah XProcessingInstruction objek. Instruksi pemrosesan mengomunikasikan informasi ke aplikasi yang memproses XML.
  • Setiap jumlah XComment objek. Komentar akan menjadi saudara kandung dari elemen akar.
  • Satu XDocumentType untuk DTD.

Ketika Anda menserialisasikan XDocument, bahkan jika XDocument.Declaration adalah null, output akan memiliki deklarasi XML jika penulis telah Writer.Settings.OmitXmlDeclaration mengatur ke false (default).

Secara default, LINQ ke XML mengatur versi ke "1.0", dan mengatur pengodean ke "utf-8".

Menggunakan XElement tanpa XDocument

Seperti yang disebutkan sebelumnya, XElement kelas adalah kelas utama dalam antarmuka pemrograman LINQ ke XML. Dalam banyak kasus, aplikasi Anda tidak akan mengharuskan Anda membuat dokumen. Dengan menggunakan XElement kelas, Anda dapat:

  • Membuat pohon XML.
  • Menambahkan pohon XML lainnya ke dalamnya.
  • Mengubah pohon XML.
  • Menyimpan.

Menggunakan XDocument

Untuk membangun XDocument, gunakan konstruksi fungsional, seperti yang Anda lakukan untuk membangun XElement objek.

Contoh berikut membuat XDocument objek dan objek yang terkandung terkait.

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")

Contoh menghasilkan output ini dalam test.xml:

<?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.-->

Lihat juga