我有一个 xml 文件,其中指定了带或不带名称空间前缀的默认名称空间。当我生成 xml 输出时,我会为所有 xml 元素添加前缀。由于我使用的是默认命名空间,有没有办法摆脱前缀?
class Program
{
static void Main(string[] args)
{
var xml =
"<root xmlns='default-namespace' xmlns:key='default-namespace'>" +
" <node1></node1>" +
" <node2></node2>" +
"</root>";
var document = XDocument.Parse(xml);
var output = document.ToString();
}
}
输出:
<key:root xmlns="default-namespace" xmlns:key="default-namespace">
<key:node1></key:node1>
<key:node2></key:node2>
</key:root>
我期望什么:
<root xmlns="default-namespace" xmlns:key="default-namespace">
<node1></node1>
<node2></node2>
</root>
不幸的是,我无法删除重复的命名空间声明。我使用的实际 xml 文件是由另一方提供的,我需要做尽可能少的修改。
您可以使用 String.Replace 方法来获取所需的 XML 格式...
var xml ="<root xmlns='default-namespace' xmlns:key='default-namespace'>" +
" <node1></node1>" +
" <node2></node2>" +
"</root>";
var document = XDocument.Parse(xml);
var output = document.ToString().Replace("key:", string.Empty);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)