Bagikan melalui


Konten valid objek XElement dan XDocument (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 koleksi dari objek XElement atau XAttribute ke XElement konstruktor. Itu sebabnya lebih 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 sederhana, berbagai macam 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), maka teks dalam koleksi digabungkan dan ditambahkan sebagai simpul teks tunggal.

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

Atribut tambahan harus memiliki nama unik dalam elemen yang mengandungnya.

Saat menambahkan objek XNode atau XAttribute, jika konten baru tidak memiliki induk, maka objek hanya dilampirkan ke pohon XML. Jika konten baru sudah diindukkan, dan menjadi bagian dari pohon XML lain, maka konten baru akan 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 Anda dengan XElement simpul akar. 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 XDocument yang valid untuk konstruktor meliputi hal berikut ini:

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

Konstruktor dan fungsi untuk menambahkan konten

Metode berikut memungkinkan Anda untuk menambahkan konten turunan ke XElement atau XDocument:

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

Lihat juga