XML'yi yüklerken veya ayrıştırırken boşlukları koruma (LINQ to XML)

Bu makalede LINQ to XML'nin boşluk davranışının nasıl denetlendiği açıklanır.

Yaygın bir senaryo, girintili XML okumak, boşluk metin düğümleri olmadan bellek içi bir XML ağacı oluşturmak (boş alanı korumamak), XML üzerinde bazı işlemler yapmak ve sonra XML'yi girintili olarak kaydetmektir. XML'yi biçimlendirmeyle seri hale getirdiğinizde, XML ağacında yalnızca önemli boşluklar korunur. Bu, LINQ to XML için varsayılan davranıştır.

Bir diğer yaygın senaryo, önceden kasıtlı olarak girintilenmiş XML'yi okumak ve değiştirmektir. Bu girintiyi hiçbir şekilde değiştirmek istemeyebilirsiniz. Bunu LINQ to XML'de yapmak için, XML'yi yüklerken veya ayrıştırırken boşlukları korur ve XML'yi seri hale getirdiğinizde biçimlendirmeyi devre dışı bırakırsınız.

Bu makalede, XML ağaçlarını dolduran yöntemlerin boşluk davranışı açıklanmaktadır. XML ağaçlarını seri hale getirdiğinizde boşlukları denetleme hakkında bilgi için bkz . Seri hale getirme sırasında boşluğu koruma.

XML ağaçlarını dolduran yöntemlerin davranışı

ve XDocument sınıflarındaki XElement aşağıdaki yöntemler bir XML ağacını doldurur. XML ağacını bir dosyadan, bir TextReader, bir XmlReaderdizeden veya dizeden doldurabilirsiniz:

Yöntemi bağımsız değişken olarak almazsa LoadOptions , yöntem önemsiz boşlukları korumaz.

Çoğu durumda, yöntem bağımsız değişken olarak alırsa LoadOptions , isteğe bağlı olarak XML ağacında metin düğümleri olarak önemsiz boşluklar koruyabilirsiniz. Ancak, yöntem XML'yi bir XmlReaderXmlReader öğesinden yüklüyorsa, boşluk korunup korunmayacağını belirler. Ayarın PreserveWhitespace hiçbir etkisi olmaz.

Bu yöntemlerle, boşluk korunursa, XML ağacına düğüm olarak XText önemsiz boşluk eklenir. Boşluk korunmazsa metin düğümleri eklenmez.

kullanarak XmlWriterbir XML ağacı oluşturabilirsiniz. öğesine XmlWriter yazılan düğümler ağaçta doldurulur. Ancak, bu yöntemi kullanarak bir XML ağacı oluşturduğunuzda, düğümün boşluk olup olmadığına veya boşluğun önemli olup olmadığına bakılmaksızın tüm düğümler korunur.