【发布时间】:2014-05-08 13:31:16
【问题描述】:
我需要从 XmlDocument 中提取节点的 xml,如果它最初不存在,则没有命名空间属性。 这是 XML 文件:
<app xmlns="http://java.sun.com/xml/ns/j2ee" ...>
<item/>
</app>
这是我为了得到一个节点所做的:
var document = new new XmlDocument();
document.PreserveWhitespace = true;
document.LoadXml(sourceRootText);
...
var node = GetNode(document);
var text = node.OuterXml;
它返回以下结果:
text = "<item xmlns='http://java.sun.com/xml/ns/j2ee' />";
有没有办法告诉文档不要在节点中包含命名空间? 我明白为什么要添加它,但我想保留它没有命名空间。
另外,很遗憾我不能使用 XDocument,因为很多代码已经使用了 XmlDocument,而且我现在要重新编写它并不容易。
编辑:其实我可以尝试 XDocument 来解析 XmlNode.OuterXml 然后删除命名空间,我现在就试试这个。
【问题讨论】:
标签: c# xml-namespaces xmldocument