首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果namespace也定义为默认值,则强制XDocument不使用namespace前缀

如果namespace也定义为默认值,则强制XDocument不使用namespace前缀
EN

Stack Overflow用户
提问于 2015-09-17 22:08:43
回答 1查看 555关注 0票数 5

我有一个带有默认名称空间的xml文件,其中指定了名称空间前缀和没有名称空间前缀。当我生成xml输出时,我会得到所有xml元素的前缀。有没有办法去掉前缀,因为我使用的是默认名称空间?

代码语言:javascript
复制
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();
    }
}

输出:

代码语言:javascript
复制
<key:root xmlns="default-namespace" xmlns:key="default-namespace">
  <key:node1></key:node1>
  <key:node2></key:node2>
</key:root>

我所期望的是:

代码语言:javascript
复制
<root xmlns="default-namespace" xmlns:key="default-namespace">
  <node1></node1>
  <node2></node2>
</root>

不幸的是,我不能删除重复的名称空间声明。我使用的实际xml文件是由另一方提供的,我需要做尽可能少的修改。

EN

回答 1

Stack Overflow用户

发布于 2015-09-30 19:27:29

您可以使用String.Replace方法来获取所需的XML格式...

代码语言:javascript
复制
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);
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32632451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档