Podczas generowania XML z XmlDocument w .NET, pusty xmlns
atrybut pojawia się po pierwszym wstawieniu elementu bez skojarzonej przestrzeni nazw; jak można temu zapobiec?
Przykład:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Wynik:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Pożądane wyjście:
<root xmlns="whatever:name-space-1.0"><loner /></root>
Czy istnieje rozwiązanie, które można zastosować do XmlDocument
kodu, a nie coś, co dzieje się po konwersji dokumentu na ciąg OuterXml
?
Powodem, dla którego to robię, jest sprawdzenie, czy mogę dopasować standardowy kod XML konkretnego protokołu za pomocą XML wygenerowanego przez XmlDocument. Pusty xmlns
atrybut nie może zepsuć ani zmylić parsera, ale nie jest również obecny w żadnym zastosowaniu tego protokołu, jakie widziałem.