Добавить документ XML в узел XML в C #? - PullRequest
9 голосов
/ 11 марта 2009

Как я могу добавить документ XML к узлу xml в c #?

Ответы [ 5 ]

15 голосов
/ 11 марта 2009

XmlDocument - это , в основном XmlNode, так что вы можете добавить его так же, как и для любого другого XmlNode. Однако разница возникает из-за того, что this 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);
5 голосов
/ 11 марта 2009

Да

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

Я думаю, что это создает клон вашего документа.

1 голос
/ 10 декабря 2013

Допустим, у вас есть следующая конструкция:

Следующая структура хранится в XmlElement с именем xmlElement:

</root>

и следующая структура хранится в объекте XmlNode с именем FooNode;

<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);

Надеюсь, это кому-нибудь поможет

1 голос
/ 11 марта 2009

Возможно вот так:

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

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

Марк

0 голосов
/ 11 марта 2009

Если у вас есть корневой узел рассматриваемого XML-документа, вы можете добавить его в качестве дочернего узла рассматриваемого узла. Имеет ли это смысл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...