C# 替换XDocument中的根节点

C# 替换XDocument中的根节点,c#,xml,linq-to-xml,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> ... </Compl

是否可以替换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>

1.
...
我希望它看起来像:

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

1.
...

我知道我可以用XDocument.Root.name替换名称,但是我一直在想是否有办法替换整个元素?

最简单的方法是用新的根创建一个新的
XDocument
,然后简单地从原始文档中复制第一级
XElement
s。

不是我的答案,但这看起来很相似。被认为是重复的标记,但您特别询问了XDocument,而这个问题没有特别询问,但答案使用了XDocument。(基本上只是在有人偶然发现这一点的情况下添加,但同时也在寻找更多信息和示例)


您能否使用新的根目录创建一个新的
XDocument
,并从原始文档复制第一级
XElement
s?(顺便说一句,不是我的反对票。)@JoãoMendes,我想这可能是解决问题的更简单的方法。也谢谢你的不反对票pCool。我将把它作为一个答案,供未来的搜索者使用。