Saludos:
Genero un listado en asp, con datos de una consulta o SP de SQL server 2000, transformados a xml con el método for xml auto.
de este orden son la consulta y el resultado
Código:
select nombre,fono
from personas
for xml auto
Código:
<base_persona nombre="Juan" fono="694123"/><base_persona nombre="Pedro" fono="912567"/>
Con ASP yo obtengo los registros resultandtes de la consulta a través de una componente (dll) de VB6 y leo los registros así:
Código:
Set objAdmConsulta = Server.CreateObject("comComponente.componente")
rsConsulta = objAdmConsulta.traePersonas()
Set objXMLdetalle = Server.CreateObject("MSXML2.DOMdocument.3.0")
set objAdmConsulta = Nothing
'response.write("<textarea>"&rsConsulta&"</textarea>")':response.flush
rsConsulta = "<Raiz>" & rsConsulta & "</Raiz>"
objXMLdetalle.loadXML(rsConsulta)
Set objDOM = objXMLdetalle.selectSingleNode("//Raiz")
Set objXMLdetalle = Nothing
For Each reg In objDOM.childNodes
response.write("<td>" & reg.getAttribute("nombre") & "/td")
response.write("<td>" & reg.getAttribute("fono") & "/td")
next
De esta forma leo los registros de las consultas para todos los listados, pero sólo los registros, no encuentro la manera de saber la cantidad de columnas o los nombres de las columnas. En el fondo lo que busco es poder generar una tabla en html, a partir de cualquier xml con formato como en el ejemplo, que quede como la tabla de la consulta en la base de datos, con títulos y con todas las filas y columnas.
¿como puedo hacer eso?