Creo que esta funcion la publique ya en "la biblioteca" pero te la anexo igualmente aca.
Es una funcion muy util que lo que hace es tomar una consulta SQL, ejecutarla contra el servidor y el resultado lo transforma en un XML.
el unico requisito de esta funcion es que asume una coneccion llamada
CONEXION
se ejecuta asi
Código PHP:
dim xml ,str
str = "select * from tabla"
xml = setQueryToXml(str)
y listo, en la variable xml estan tus datitos.
Código PHP:
Function setQueryToXml(strSQL)
Dim strXMLTemplate
Dim xCount
Dim strXml
DIM dbcRec
DIM XMLOBJ
DIM XMLTEMPLATE
DIM XMLRESULT
on error resume next
Const adCmdText = &H0001 ' ADDED PARA PODER CONTAR
Const adOpenStatic = 3 ' ADDED PARA PODER CONTAR
Set dbcRec = Server.CreateObject("ADODB.RecordSet")
dbcRec.Open strSQL,ConEXION,adopenstatic,adcmdtext ' ADDED PARA PODER CONTAR
If Err.Number <> 0 OR dbcRec.RecordCount <= 0 Then
setQueryToXml = FALSE
Else
Set xmlObj = Server.CreateObject("MSXML2.DOMDocument")
Set XmlTemplate = Server.CreateObject("MSXML2.DOMDocument")
strXMLTemplate = "<?xml version=""1.0""?>"
strXMLTemplate = strXMLTemplate & "<xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" xmlns:z=""#RowsetSchema"" xmlns:rs=""urn:schemas-microsoft-com:rowset"">" & vbCrLf
strXMLTemplate = strXMLTemplate & "<xsl:output method=""xml"" cdata-section-elements=""id_objeto"" indent=""yes"" omit-xml-declaration=""yes""/>" & vbCrLf
strXMLTemplate = strXMLTemplate & "<xsl:template match=""/"">" & vbCrLf
strXMLTemplate = strXMLTemplate & "<xsl:element name=""cryptic_writings"">" & vbCrLf
strXMLTemplate = strXMLTemplate & "<xsl:for-each select=""/xml/rs:data/z:row"">" & vbCrLf
strXMLTemplate = strXMLTemplate & "<xsl:element name=""reg"">" & vbCrLf
For xCount = 0 To dbcRec.Fields.Count - 1
strXMLTemplate = strXMLTemplate & "<xsl:element name=""" & lcase(dbcRec(xCount).Name) & """>" & vbCrLf
strXMLTemplate = strXMLTemplate & "<xsl:value-of select=""@" & dbcRec(xCount).Name & """/>" & vbCrLf
strXMLTemplate = strXMLTemplate & "</xsl:element>" & vbCrLf
Next
strXMLTemplate = strXMLTemplate & "</xsl:element>" & vbCrLf
strXMLTemplate = strXMLTemplate & "</xsl:for-each>" & vbCrLf
strXMLTemplate = strXMLTemplate & "</xsl:element>" & vbCrLf
strXMLTemplate = strXMLTemplate & "</xsl:template>" & vbCrLf
strXMLTemplate = strXMLTemplate & "</xsl:stylesheet>" & vbCrLf
XmlTemplate.loadXML (strXMLTemplate)
dbcRec.Save xmlObj, 1
strXml = xmlObj.transformNode(XmlTemplate)
Set XmlTemplate = Nothing
Set xmlObj = Nothing
dbcRec.Close
Set dbcRec = Nothing
setQueryToXml = strXMLTemplate
setQueryToXml = strXml
End If
on error goto 0
End Function