中从 XmlDocument 生成 XML 时。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
将文档转换为字符串的情况?
我这样做的原因是想看看是否可以使用 XmlDocument 生成的 XML 来匹配特定协议的标准 XML。空白的 xmlns
属性 梅不会破坏或混淆解析器,但它也不会出现在我所看到的这个协议的任何用法中。