Hola buenos días,
he encontrado una solución en este foro y me guarda el documento en xml, pero necesito ayuda para poner "un sub hijo", os pongo un ejemplo de como se guarda mi xml y como lo necesito, creo que tengo que poner un subitem dentro del child pero no se como hacerlo.
el codigo que tengo ahora es
Código:
<%
set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM CONTACTOS"
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db/lista.mdb")
rs.Open SQL, oConn, 1, 1
%>
<%
Dim objXML, objXML1, objNews, objNews1, objCabecera
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
Set objXML.documentElement = objXML.createElement("AddressBook")
Set objNews = objXML.createElement("Contact")
' Crea los Sub Item
objNews.appendChild objXML.createElement("id")
objNews.appendChild objXML.createElement("FirstName")
objNews.appendChild objXML.createElement("Phonenumber")
'Asignar Valores a los SubItem
%>
<%
while not rs.EOF
objNews.childNodes(0).text = "PN" &rs("id")
objNews.childNodes(1).text = rs("NOMBRE")
objNews.childNodes(2).text = rs("TELF")
objXML.documentElement.appendChild objNews.cloneNode(true)
rs.movenext
wend
%><%
Set objCabecera = objXML.createProcessingInstruction("xml","version= '1.0' encoding='UTF-8'")
'agregamos la cabecera antes del elemento raiz
objXML.insertBefore objCabecera, objXML.childNodes(0)
'finalmente grabamos el XML en disco duro
objXML.Save "c:\book.xml"
Response.Write "Archivo XML Creado 01"
%>
yo quiero que el xml se guarde de esta forma
Código:
<?xml version="1.0" encoding="UTF-8"?>
<Book>
-<Contact>
<id>PN1</id>
<FirstName>UTS</FirstName>
-<Phone>
<phonenumber>7089</phonenumber>
</Phone>
</Contact>
</Book>
pero me sale asi
Código:
<?xml version="1.0" encoding="UTF-8"?>
<Book>
-<Contact>
<id>PN1</id>
<FirstName>UTS</FirstName>
<phonenumber>7089</phonenumber>
</Contact>
</Book>