2010-10-06 5 views
7

Я создал основной XmlDocument с одним узлом:вставки XmlDocument в узел XmlDocument

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

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

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

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

Как вставить XmlDocument внутри другого узла XmlDocument?

ответ

14

Если я правильно помню, что это в основном то же самое в каждом DOM реализации вокруг (.net, JavaScript, PHP и т.д., это должно работать.

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

Истинный (второй аргумент importNode) должен означать импорт глубокий.

+0

не удалось плавник d что в XmlDocument –

+0

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

+0

Наконец-то !! Спасибо! – 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

Ойала ayude, Ми меня Sirve

Смежные вопросы