将xml文档附加到C#中的xml节点?

时间:2009-03-11 17:00:51

标签: c# xml

如何将XML文档附加到c#中的xml节点?

5 个答案:

答案 0 :(得分:15)

XmlDocument 基本上是XmlNode,因此您可以像对待任何其他XmlNode那样追加它。但是,差异源于 XmlNode不属于目标文档的事实,因此您需要使用ImportNode方法,然后执行追加。

// xImportDoc is the XmlDocument to be imported.
// xTargetNode is the XmlNode into which the import is to be done.

XmlNode xChildNode = xSrcNode.ImportNode(xImportDoc, true);
xTargetNode.AppendChild(xChildNode);

答案 1 :(得分:5)

是:

XmlNode imported = targetNode.OwnerDocument.ImportNode(otherDocument.DocumentElement, true);
targetNode.AppendChild(imported);

我认为这会创建一个文档的克隆。

答案 2 :(得分:1)

也许是这样:

XmlNode node = ......  // belongs to targetDoc (XmlDocument)

node.AppendChild(targetDoc.ImportNode(xmlDoc.DocumentElement));

马克

答案 3 :(得分:1)

假设你有以下结构:

以下结构存储在名为xmlElement的XmlElement中:     

</root>

并且以下结构存储在名为FooNode;

的XmlNode对象中
<foo>
    <bar>This is a test</bar>
    <baz>And this is another test</baz>
</foo>

然后执行以下操作:

XmlNode node = doc.ImportNode(FooNode.SelectSingleNode("foo"), true);
xmlElement.AppendChild(node);

希望它有助于某人

答案 4 :(得分:0)

如果您有相关XML文档的根节点,则可以将其作为相关节点的子节点附加。这有意义吗?