2010-10-06 13 views
7

ho creato un XmlDocument base con un nodo:inserto XmlDocument in un nodo di XmlDocument

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

e sto ottenendo un'altra XmlDocument che voglio inserire all'interno <Request> nodo. Non funziona per me:

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

Si thorows un'eccezione.

Come posso inserire un XmlDocument all'interno di un altro nodo XmlDocument?

risposta

14

Se ricordo bene che è fondamentalmente la stessa cosa in ogni implementazione DOM intorno (.net, javascript, php ecc questo dovrebbe funzionare.

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

Il vero (secondo argomento per importNode) dovrebbe significare import profondo.

+0

Impossibile pinna d che in XmlDocument –

+0

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

+0

Finalmente !! grazie! – 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 ayude, a mi me sirve

Problemi correlati