La Web del Programador: Comunidad de Programadores
 
    Pregunta:  6420 - CREAR NODO CON XML
Autor:  Fabricio Gastiaburu
Como hago para crear nodos cuando cargo un archivo XML?
Esto es lo que he hecho:
Dim xmlDoc As New Msxml2.DOMDocument
Dim docFragment As IXMLDOMDocumentFragment
Dim text As IXMLDOMText
Dim newo As IXMLDOMNode
xmlDoc.async = False
xmlDoc.loadXML "<root/>"
Set docFragment = xmlDoc.createDocumentFragment()
Set text = xmlDoc.createTextNode("Hola")
docFragment.appendChild xmlDoc.createNode(1, "nuevo1", "")
docFragment.appendChild xmlDoc.createElement("node1")
docFragment.appendChild xmlDoc.createElement("node2")
docFragment.appendChild xmlDoc.createElement("node3")
MsgBox docFragment.xml
xmlDoc.documentElement.appendChild docFragment
Set newo = xmlDoc.documentElement.insertBefore(text, xmlDoc.childNodes.Item(1))
MsgBox xmlDoc.xml
xmlDoc.save ("D:\Probando.xml")

pero lo que conseguí fue:
<root><nuevo1/><node1/><node2/><node3/>Hola</root>

lo que quiro es:
<root><nuevo1></nuevo1><node1></node1>....

y también crear un nodo dentro de otro nodo

Gracias

  Respuesta:  Guillermo Molina
el parser interpreta <nuevo1/> como elemento vacío y como para el <nuevo1/> es lo mismo que <nuevo1></nuevo1>, utiliza lo primero que es más corto.