相关疑难解决方法(0)

如何防止.NET的XmlDocument输出中的空白xmlns属性?

从.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);
Run Code Online (Sandbox Code Playgroud)

输出:

<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Run Code Online (Sandbox Code Playgroud)

期望的输出:

<root xmlns="whatever:name-space-1.0"><loner /></root>
Run Code Online (Sandbox Code Playgroud)

是否有适用于XmlDocument代码的解决方案,而不是将文档转换为字符串后出现的问题OuterXml

我这样做的原因是看看我是否可以使用XmlDocument生成的XML匹配特定协议的标准XML.空白xmlns属性可能不会破坏或混淆解析器,但它在我已经看到的此协议的任何用法中也不存在.

.net c# xml xmldocument xml-namespaces

115
推荐指数
4
解决办法
7万
查看次数

标签 统计

.net ×1

c# ×1

xml ×1

xml-namespaces ×1

xmldocument ×1