2010-10-06 23 views
7

I a créé un XmlDocument de base avec un nœud:insert XmlDocument dans un noeud XmlDocument

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

et je reçois une autre XmlDocument que je veux insérer à l'intérieur <Request> nœud. Il ne fonctionne pas pour moi:

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

Il thorows une exception.

Comment puis-je insérer un XmlDocument dans un autre noeud XmlDocument?

Répondre

14

Si je me souviens bien que c'est fondamentalement la même chose dans chaque implémentation DOM autour (.net, javascript, php, etc. cela devrait fonctionner.

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

Le vrai (2ème argument importNode) devrait signifier l'importation profonde.

+0

Impossible fin d que dans XmlDocument –

+0

http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.importnode.aspx – Kris

+0

Enfin !! Je vous remercie! – Rodniko

-1
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

Ojala Fernando Ayude, a mi-moi sIRVE