При генерации XML из XmlDocument в .NET пустой xmlns
атрибут появляется при первой вставке элемента без связанного пространства имен; как этого избежать?
Пример:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Вывод:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Желаемый результат :
<root xmlns="whatever:name-space-1.0"><loner /></root>
Есть ли решение, применимое к XmlDocument
коду, а не то, что происходит после преобразования документа в строку с помощью OuterXml
?
Я делаю это, чтобы посмотреть, смогу ли я сопоставить стандартный XML определенного протокола с помощью XML, созданного XmlDocument. xmlns
Атрибут blank не может сломать или запутать синтаксический анализатор, но он также не присутствует ни в одном из примеров использования этого протокола.