如何在C#中仅为ref元素添加命名空间?

时间:2012-05-15 22:29:04

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

我有一个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>

1 个答案:

答案 0 :(得分:0)

您可以按照此处的说明执行操作:http://www.w3schools.com/xml/xml_namespaces.asp

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

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