Bagikan melalui


Konten objek XElement dan XDocument yang valid (LINQ ke XML)

Artikel ini menjelaskan argumen valid yang dapat diteruskan ke konstruktor, dan metode yang Anda gunakan untuk menambahkan konten ke elemen dan dokumen.

Jenis yang valid untuk konstruktor XElement

Kueri sering dievaluasi ke IEnumerable<T> dari XElement atau IEnumerable<T> dari XAttribute. Anda dapat meneruskan kumpulan objek XElement atau XAttribute ke konstruktor XElement. Itulah sebabnya mudah untuk meneruskan hasil kueri sebagai konten ke dalam metode dan konstruktor yang Anda gunakan untuk mengisi pohon XML.

Saat menambahkan konten sederhana, berbagai jenis dapat diteruskan ke metode ini, termasuk:

Saat menambahkan konten kompleks, berbagai jenis dapat diteruskan ke metode ini, termasuk:

Jika objek mengimplementasikan IEnumerable<T>, koleksi dalam objek dijumlahkan, dan semua item dalam koleksi ditambahkan. Jika koleksi berisi objek XNode atau XAttribute, setiap item dalam koleksi ditambahkan secara terpisah. Jika koleksi berisi teks (atau objek yang dikonversi ke teks), teks dalam koleksi digabungkan dan ditambahkan sebagai simpul teks tunggal.

Jika konten null, tidak ada yang ditambahkan. Saat meneruskan koleksi, item dalam koleksi bisa null. Item null dalam koleksi tidak berpengaruh pada pohon.

Atribut tambahan harus memiliki nama unik dalam elemen yang berisi.

Saat menambahkan objek XNode atau XAttribute, jika konten baru tidak memiliki induk, maka objek hanya dilampirkan ke pohon XML. Jika konten baru sudah diinduk dan merupakan bagian dari pohon XML lain, maka konten baru dikloning, dan konten yang baru dikloning dilampirkan ke pohon XML.

Jenis yang valid untuk konstruktor XDocument

Atribut dan konten sederhana tidak dapat ditambahkan ke dokumen.

Tidak ada banyak skenario yang mengharuskan Anda membuat XDocument. Sebagai gantinya, Anda biasanya dapat membuat pohon XML dengan simpul akar XElement. Kecuali Anda memiliki persyaratan khusus untuk membuat dokumen (misalnya, karena Anda harus membuat instruksi pemrosesan dan komentar di tingkat atas, atau Anda harus mendukung jenis dokumen), sering kali lebih nyaman untuk menggunakan XElement sebagai simpul akar Anda.

Jenis yang valid untuk konstruktor XDocument meliputi yang berikut ini:

  • Nol atau satu objek XDocumentType. Jenis dokumen harus berada sebelum elemen.
  • Nol atau satu elemen.
  • Nol atau lebih komentar.
  • Instruksi pemrosesan nol atau lebih.
  • Nol atau lebih simpul teks yang hanya berisi spasi kosong.

Konstruktor dan fungsi untuk menambahkan konten

Metode berikut memungkinkan Anda menambahkan konten anak ke XElement atau XDocument:

Metode Deskripsi
XElement Membangun XElement.
XDocument Membangun XDocument.
Add Menambahkan ke akhir konten anak dari XElement atau XDocument.
AddAfterSelf Menambahkan konten setelah XNode.
AddBeforeSelf Menambahkan konten sebelum XNode.
AddFirst Menambahkan konten di bagian awal dari konten anak XContainer.
ReplaceAll Mengganti semua konten (simpul turunan dan atribut) dari XElement.
ReplaceAttributes Mengganti atribut XElement.
ReplaceNodes Mengganti node anak-anak dengan konten baru.
ReplaceWith Mengganti simpul dengan konten baru.

Lihat juga