2009-11-04 22 views

cevap

32

Buradaki fark, XElement türünün bir XML parçasını temsil etmesidir; XDocument türü ise tüm ilişkili meta verilere sahip bir XML belgesinin tamamını temsil eder. Bununla birlikte, çoğu basit durumda, bunları birbirinin yerine kullanılabilir şekilde kullanabileceğiniz söylenebilir.

Ben okumak lütfen tavsiye edeceğini bu iki tür arasında ve daha fazla bilgi için sorgulama ince farkları anlamak önemlidir Querying an XDocument vs. Querying an XElement:

bir belgeyi yüklemek

aracılığıyla XDocument.Load, olacak , sorgularını XElement.Load üzerinden yüklediğinizden biraz farklı yazmanız gerektiğini bildirir.

+0

bu nedenle performans açısından aynıdır, aynı – Ayyash

+0

Ayrıca, oluşturulan XML'i web üzerinden bir web servisine gönderecekseniz XDocument önerilmektedir. Ama sen sordun, sen de bu senin durumun değil. –

9

bir XDocument oluşturmanızı gerektirecek birçok senaryo vardır değildir. Bunun yerine, genellikle bir XElement kök düğümüyle XML ağaçlarınızı oluşturabilirsiniz. Eğer (üst seviyesinde işlem talimatları ve yorum oluşturmak zorunda, yoksa belge türlerini desteklemek zorunda çünkü örneğin ), genellikle daha uygun olur bir belge oluşturmak için belirli bir gereksinim yoksa XElement'i kök düğümünüz olarak kullanın.

Düzden Valid Content of XElement and XDocument Objects. Yük yöntemleri için ... ikisi de içeriği kendi nesnelerine yükler. Yükleme o XDocument.Load() da alacak olsa Xlinq ile çalışan biz XDocument ile gitmek gerekirken Dolayısıyla

Comment XElement.Load() durumunda yüklenmeyecektir yorumlar ise bir fark yoktur

+0

Bazı InfoPath formlarını yüklemek/değiştirmek/kaydetmek için gerekliydi ve işlem talimatlarını kapsamlı bir şekilde kullanıyorlar. XElement kullanarak bu yazıyı bulup XDocument'e geçene kadar kafa karıştırıcı sonuçlar veriyordum. Sooo ... teşekkürler! – Jasper

1

İlgili konular