将根节点添加到具有C#中现有根节点的Xml Document

时间:2015-03-17 15:09:42

标签: c# xml

我有一个看起来像这样的xml文档

<Stuff>
<SomeStuff></SomeStuff>
</Stuff>

我想在此文档中添加一个新的根目录,使其看起来像这样

<Root>
<Stuff>
<SomeStuff></SomeStuff>
</Stuff>
</Root>

这是我试过的

string inputXml = " <Stuff>
    <SomeStuff></SomeStuff>
    </Stuff>";
 XmlDocument firstLossRootNode = new XmlDocument();
 firstLossRootNode.LoadXml("<Root />");
var economyDocument = = XDocument.Parse(inputXml);
firstLossRootNode.DocumentElement.AppendChild(economyDocument.Document);

我试图追加它有一个孩子,但我得到编译时错误 有没有办法在使用Xdocument类的c#中执行此操作。

1 个答案:

答案 0 :(得分:1)

在您的示例中,您正在为firstLossRootNode使用XmlDocument类,但为您的economicDocument使用XDocument类。这是设计的吗?如果没有,以下代码将执行您要执行的操作:

using System;
using System.Xml.Linq;

string inputXml = "<Stuff><SomeStuff></SomeStuff></Stuff>";
XDocument firstLossRootNode = XDocument.Parse("<Root />");
XDocument economyDocument = XDocument.Parse(inputXml);

firstLossRootNode.Root.Add(economyDocument.FirstNode);