Seri hale getirme sırasında boşluk koruma (LINQ to XML)

Bu makalede, XML ağacı seri hale getirildiğinde boşluğun 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.

XML ağaçlarını seri hale getiren yöntemlerin boşluk davranışı

ve XDocument sınıflarındaki XElement aşağıdaki yöntemler bir XML ağacını seri hale getirmektedir. XML ağacını bir dosya, TextReaderbir veya XmlReaderbir olarak seri hale getirebilirsiniz. ToString yöntemi bir dizeye seri hale getirmektedir.

Yöntem bağımsız değişken olarak almazsa SaveOptions , yöntem serileştirilmiş XML'yi biçimlendirecek (girintileyecektir). Bu durumda, XML ağacındaki tüm önemsiz boşluklar atılır.

Yöntem bağımsız değişken olarak alırsa SaveOptions , yöntemin serileştirilmiş XML'yi biçimlendirmediğini (girintilediğini) belirtebilirsiniz. Bu durumda, XML ağacındaki tüm boşluklar korunur.