C# 替换XDocument中的根节点
是否可以替换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
<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。我将把它作为一个答案,供未来的搜索者使用。