我可以在C#中的另一个XmlDocument的节点中添加一个XmlDocument吗?

时间:2009-04-22 16:10:30

标签: c# xml

我有两个XmlDocuments。类似的东西:

<document1>
  <inner />
</document1>

<document2>
  <stuff/>
</document2>

我想将document2放在document1的内部节点内,以便最终得到一个包含以下内容的文档:

<document1>
  <inner>
    <document2>
      <stuff/>
    </document2>
  </inner>
</document1>

3 个答案:

答案 0 :(得分:8)

这是代码......

XmlDocument document1, document2;
// Load the documents...
XmlElement xmlInner = (XmlElement)document1.SelectSingleNode("/document1/inner");
xmlInner.AppendChild(document1.ImportNode(document2.DocumentElement, true));

答案 1 :(得分:1)

您可以,但实际上会创建一个副本。您必须使用XmlNode node = document1.ImportNode(document2.RootElement),找到节点并添加node作为子元素。

msdn上的示例:http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.importnode.aspx

答案 2 :(得分:0)

没有。您只能在XML DOM中使用XmlDocument。您要做的是获取与document2关联的DocumentElement,并将该XmlElement作为子项附加到XmlElement。