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 genellikle veya IEnumerable<T> için XElementXAttributedeğerlendirilirIEnumerable<T>. veya XAttribute nesnelerinin XElement koleksiyonlarını oluşturucuya XElement 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, bu yönteme aşağıdakiler gibi çeşitli türler geçirilebilir:
- String
- Double
- Single
- Decimal
- Boolean
- DateTime
- TimeSpan
- DateTimeOffset
- uygulayan
Object.ToString
herhangi bir tür. - uygulayan IEnumerable<T>herhangi bir tür.
Karmaşık içerik eklerken, aşağıdakiler dahil olmak üzere çeşitli türler bu yönteme geçirilebilir:
- XObject
- XNode
- XAttribute
- Uygulayan herhangi bir tür IEnumerable<T>
Bir nesne uygularsa IEnumerable<T>, nesnedeki koleksiyon numaralandırılır ve koleksiyondaki tüm öğeler eklenir. Koleksiyonda XNode veya XAttribute nesneleri varsa, 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.
İçerik ise null
hiçbir şey eklenmez. Bir koleksiyonu geçirirken, koleksiyondaki öğeler olabilir null
. Koleksiyondaki bir null
öğenin ağaç üzerinde hiçbir etkisi yoktur.
Eklenen öznitelik, öğesini içeren öğesi içinde benzersiz bir ada sahip olmalıdır.
Veya XAttribute nesneleri eklerkenXNode, yeni içeriğin üst öğesi yoksa, nesneler yalnızca XML ağacına eklenir. Yeni içerik zaten üst öğeyse 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.
oluşturmanızı XDocumentgerektiren çok fazla senaryo yoktur. Bunun yerine, xml ağaçlarınızı genellikle bir XElement 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), genellikle kök düğüm olarak kullanmak XElement daha uygundur.
Oluşturucu için XDocument geçerli türler şunlardır:
- Sıfır veya bir XDocumentType nesne. Belge türleri öğesinden önce gelmelidir.
- Sıfır veya bir öğe.
- Sıfır veya daha fazla açıklama.
- 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, veya XElementXDocumentiçine alt içerik eklemenize olanak sağlar:
Metot | Açıklama |
---|---|
XElement | bir XElementoluşturur. |
XDocument | bir XDocumentoluşturur. |
Add | veya XDocumentalt içeriğinin XElement sonuna ekler. |
AddAfterSelf | öğesinin XNodearkasına içerik ekler. |
AddBeforeSelf | uygulamasından XNodeönce içerik ekler. |
AddFirst | öğesinin alt içeriğinin başına içerik XContainerekler. |
ReplaceAll | bir XElementöğesinin tüm içeriğini (alt düğümler ve öznitelikler) değiştirir. |
ReplaceAttributes | bir XElementöğesinin özniteliklerini değiştirir. |
ReplaceNodes | Alt düğümleri yeni içerikle değiştirir. |
ReplaceWith | Bir düğümü yeni içerikle değiştirir. |