вставить XmlDocument в узел XmlDocument - PullRequest
8 голосов
/ 06 октября 2010

Я создал базовый XmlDocument с одним узлом:

XmlDocument bigDoc = new XmlDocument();
bigDoc.LoadXml("<Request></Request>");

, и я получаю еще один XmlDocument, который хочу вставить в <Request> узел.Это не работает для меня:

 XmlNode requestNode =  bigDoc.FirstChild;
 requestNode.AppendChild(anotherXMLDocument);

Это исключение.

Как я могу вставить XmlDocument в другой узел XmlDocument?

Ответы [ 2 ]

16 голосов
/ 06 октября 2010

Если я правильно помню, что это в принципе одно и то же во всех реализациях DOM (.net, javascript, php и т. Д., Это должно работать.

XmlNode requestNode =  bigDoc.FirstChild;
requestNode.AppendChild(
    requestNode.OwnerDocument.ImportNode(
        anotherXMLDocument.DocumentElement, true));

Значение true (2-й аргумент для importNode) должно означать import deep.

0 голосов
/ 16 февраля 2017
Public Sub rutina(ByRef Sobre As String, ByVal Cfe As String)
    'Agrega CFE al final de sobre, que puede ya contener
    'otro(s) CFE

    'Abre el sobre.
    Dim doc As New XmlDocument()
    doc.Load(Sobre)

    'Abre el xml con el nuevo CFE
    Dim doc2 As New XmlDocument()
    doc2.Load(Cfe)

    'Importa el CFE al final del sobre (antes de </Fin> )
    Dim newBook As XmlNode = doc.ImportNode(doc2.DocumentElement, True)
    doc.DocumentElement.AppendChild(newBook)

    doc.Save(Sobre)

End sub

Оджала айуде, ми мне, сир

...