在.NET中从XmlDocument生成XML时,第一次插入关联命名空间的元素without时会出现空白的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>
Desired 输出:
<root xmlns="whatever:name-space-1.0"><loner /></root>
是否有一种解决方案适用于XmlDocument
代码,而不是将文档转换为OuterXml
的字符串?
我这样做的理由是看我是否可以使用XmlDocument生成的XML匹配特定协议的标准XML.空白xmlns
属性may不中断或混淆解析器,但它也不存在于我见过的任何协议中.