我有一个带有默认名称空间的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文件是由另一方提供的,我需要做尽可能少的修改。
发布于 2015-09-30 19:27:29
您可以使用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);https://stackoverflow.com/questions/32632451
复制相似问题