【问题标题】:How do I add a namespace to only ref elements in C#?如何在 C# 中将命名空间仅添加到 ref 元素?
【发布时间】:2012-05-23 11:50:57
【问题描述】:

我有一个 XElement,其中包含我想要的内容。但是,我只想向 ref 元素添加命名空间前缀。这在 C# 中可行吗?

例如,原始 XML 如下所示:

<Root>
  <Element1 />
  <Element2 />
  <Element3>
    <Element3_Child1 />
    <Element3_Child2 />
  </Element3>
  <Element4 />
  <Element5>
    <Element5_Child1>
       <Element5_Child1_Child51 />
    </Element5_Child1>
  </Element5>
</Root>

我想添加一个命名空间前缀,以便 XML 如下所示

<Root>
  <Element1 />
  <Element2 />
  <ns:Element3>
    <Element3_Child1 />
    <Element3_Child2 />
  </Element3>
  <Element4 />
  <ns:Element5>
    <ns:Element5_Child1>
       <Element5_Child1_Child51 />
    </Element5_Child1>
  </Element5>
</Root>

【问题讨论】:

  • 什么是“参考元素”?
  • 例如,我的 XML 看起来像
  • 不要将其放在评论中,将示例 XML 添加到问题中。并将其格式化为代码({} 按钮)
  • 您想要的元素无效 - 命名空间ns 需要在某处声明。你能准确地发布你想要完成的事情吗?
  • @carlosfigueira:我认为这是 OP 想知道的 - 如何定义命名空间?

标签: c# xml namespaces linq-to-xml xelement


【解决方案1】:

您可以按照此处所述进行操作:http://www.w3schools.com/xml/xml_namespaces.asp

<root
    xmlns:foo="http://www.example.org/foo"
    xmlns:bar="http://www.example.org/bar">

但是,我很确定您需要一个有效的 URI,而且您不能“伪造”一个。否则,命名空间将无效。但是您可以测试并告诉我们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-17
    • 2017-11-27
    • 1970-01-01
    • 2021-06-28
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多