替换XDocument中的根节点

时间:2014-05-29 14:34:05

标签: c# xml linq-to-xml

是否可以替换XDocument的根元素?

我目前有一份文件如下:

<ArrayOfCompletedInvoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <CompletedInvoice>
    <Invoice>1</Invoice>
    ...
  </CompletedInvoice>
</ArrayOfCompletedInvoice>

我希望它看起来像:

<ns0:CompletedInvoices xmlns:ns0="http://myNamespace">
  <CompletedInvoice>
    <Invoice>1</Invoice>
    ...
  </CompletedInvoice>
</ns0:CompletedInvoices>

我知道我可以用XDocument.Root.Name替换名称,但是我不知道是否有替换整个元素的方法?

2 个答案:

答案 0 :(得分:0)

最简单的选择是使用新根创建新的XDocument,只需复制原始文档中的第一级XElement

答案 1 :(得分:0)

不是我的答案,但这看起来非常相似。考虑标记为重复,但你具体询问XDocument这个问题没有具体问,但答案使用XDocument。 (基本上只是添加,以防有人偶然发现,但正在寻找更多信息和示例)。

Change XML root element name