Aracılığıyla paylaş


XElement ve XDocument nesnelerinin geçerli içeriği (LINQ to XML)

Bu makalede, oluşturuculara geçirilebilen geçerli bağımsız değişkenler ve öğelere ve belgelere içerik eklemek için kullandığınız yöntemler açıklanmaktadır.

XElement oluşturucu için geçerli türler

Sorgular sıklıkla IEnumerable<T>XElement veya IEnumerable<T>XAttributeolarak değerlendirilir. XElement veya XAttribute nesne koleksiyonlarını XElement oluşturucuya geçirebilirsiniz. Bu nedenle, bir sorgunun sonuçlarını XML ağaçlarını doldurmak için kullandığınız yöntemlere ve oluşturuculara içerik olarak geçirmek kullanışlı bir yöntemdir.

Basit içerik eklerken, aşağıdakiler dahil olmak üzere çeşitli türler bu yönteme geçirilebilir:

Karmaşık içerik eklerken, aşağıdakiler dahil olmak üzere çeşitli türler bu yönteme geçirilebilir:

Bir nesne IEnumerable<T>uygularsa, nesnedeki koleksiyon numaralandırılır ve koleksiyondaki tüm öğeler eklenir. Koleksiyon XNode veya XAttribute nesneleri içeriyorsa, koleksiyondaki her öğe ayrı olarak eklenir. Koleksiyonda metin (veya metne dönüştürülen nesneler) varsa, koleksiyondaki metin birleştirilir ve tek bir metin düğümü olarak eklenir.

Eğer içerik nullise, hiçbir şey eklenmez. Bir koleksiyon geçirildiğinde, koleksiyondaki öğeler nullolabilir. Koleksiyondaki null öğenin ağaç üzerinde hiçbir etkisi yoktur.

Eklenen öznitelik, bulunduğu element içinde benzersiz bir isme sahip olmalıdır.

XNode veya XAttribute nesneleri eklerken, yeni içeriğin üst öğesi yoksa, nesneler yalnızca XML ağacına eklenir. Yeni içerik zaten bir üst öğeye bağlıysa ve başka bir XML ağacının parçasıysa, yeni içerik kopyalanır ve yeni kopyalanan içerik XML ağacına eklenir.

XDocument oluşturucu için geçerli türler

Belgeye öznitelikler ve basit içerik eklenemez.

XDocumentoluşturmanızı gerektiren çok fazla senaryo yoktur. Bunun yerine, xml ağaçlarınızı genellikle XElement bir kök düğümle oluşturabilirsiniz. Belge oluşturmak için belirli bir gereksiniminiz yoksa (örneğin, işleme yönergelerini ve açıklamalarını en üst düzeyde oluşturmanız veya belge türlerini desteklemeniz gerektiğinden), kök düğüm olarak XElement kullanmak genellikle daha uygundur.

XDocument oluşturucu için geçerli türler şunlardır:

  • Sıfır veya bir XDocumentType nesnesi. Belge türleri öğesinden önce gelmelidir.
  • Sıfır veya bir öğe.
  • Sıfır veya daha fazla yorum.
  • Sıfır veya daha fazla işlem yönergesi.
  • Yalnızca boşluk içeren sıfır veya daha fazla metin düğümü.

İçerik eklemek için oluşturucular ve işlevler

Aşağıdaki yöntemler, bir XElement veya XDocument’e alt içerik eklemenize olanak sağlar:

Yöntem Açıklama
XElement XElementoluşturur.
XDocument Bir XDocumentoluşturur.
Add XElement veya XDocumentalt içeriğinin sonuna bir şey ekler.
AddAfterSelf XNode'dan sonra içerik ekle.
AddBeforeSelf İçeriği XNodeöncesine ekler.
AddFirst XContainer'nin alt içeriğinin başına içerik ekler.
ReplaceAll XElement'ın tüm içeriğini (alt düğümler ve öznitelikler) değiştirir.
ReplaceAttributes XElement'ün özniteliklerini değiştirir.
ReplaceNodes Çocuk düğümleri yeni içerikle değiştirir.
ReplaceWith Bir düğümü yeni içerikle değiştirir.

Ayrıca bkz.

  • XML ağaçları