.NET'te XmlDocument'ten XML oluştururken xmlns
, ilk kez ilişkili bir ad alanı olmayan bir öğe eklendiğinde boş bir öznitelik görünür ; Bu nasıl önlenebilir?
Misal:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Çıktı:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
İstenilen Çıktı:
<root xmlns="whatever:name-space-1.0"><loner /></root>
Belgeyi bir dizeye dönüştürdükten sonraXmlDocument
ortaya çıkan bir şey değil , koda uygulanabilir bir çözüm var mı ?OuterXml
Bunu yapmak için gerekçem, XmlDocument tarafından oluşturulan XML kullanarak belirli bir protokolün standart XML'ini eşleştirip eşleştiremeyeceğimi görmektir. Boş xmlns
nitelik olabilir kırmak veya ayrıştırıcı karıştırmayın, ancak bu protokolün gördüm ayrıca herhangi kullanımında mevcut değil değil.