从.NET中的XmlDocument生成XML时,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。blank xmlns属性可能不会破坏或混淆解析器,但是在我对该协议所见到的任何用法中,它都不存在。