read - Asp XML Parsing
xmlelement c# (3)
Por ASP, supongo que te refieres a ASP clásico. Tratar:
Dim oXML, oNode, sKey, sValue
Set oXML = Server.CreateObject("MSXML2.DomDocument.4.0")
oXML.LoadXML(sXML)
For Each oNode In oXML.SelectNodes("/user_data/person_info/attribute")
sKey = oNode.GetAttribute("name")
sValue = oNode.Text
'' Do something with these values here
Next
Set oXML = Nothing
El código anterior asume que tienes tu XML en una variable llamada sXML. Si consume esto a través de una solicitud ServerXMLHttp, debería poder usar la propiedad ResponseXML de su objeto en lugar de oXML arriba y omitir el paso LoadXML por completo.
Soy nuevo en asp y tengo una fecha límite en los próximos días. recibo el siguiente xml desde dentro de una respuesta de servicio web.
print("<?xml version="1.0" encoding="UTF-8"?>
<user_data>
<execution_status>0</execution_status>
<row_count>1</row_count>
<txn_id>stuetd678</txn_id>
<person_info>
<attribute name="firstname">john</attribute>
<attribute name="lastname">doe</attribute>
<attribute name="emailaddress">[email protected]</attribute>
</person_info>
</user_data>");
¿Cómo puedo analizar este xml en atributos de asp?
Cualquier ayuda es muy apreciada
Gracias Damien
En más análisis, también se devuelve algo de jabón ya que la respuesta de aboce es una llamada de servicio web. ¿Puedo seguir usando el código de Lucas a continuación?
Puedes intentar cargar el xml en el objeto xmldocument y luego analizarlo con sus métodos.
Necesita leer sobre el analizador MSXML. Aquí hay un enlace a un buen ejemplo todo en uno http://oreilly.com/pub/h/466
Algunas lecturas en XPath también ayudarán. Puede obtener toda la información que necesita en MSDN.
Robar el código de Luke excelente respuesta para fines de agregación:
Dim oXML, oNode, sKey, sValue
Set oXML = Server.CreateObject("MSXML2.DomDocument.6.0") ''creating the parser object
oXML.LoadXML(sXML) ''loading the XML from the string
For Each oNode In oXML.SelectNodes("/user_data/person_info/attribute")
sKey = oNode.GetAttribute("name")
sValue = oNode.Text
Select Case sKey
Case "execution_status"
... ''do something with the tag value
Case else
... ''unknown tag
End Select
Next
Set oXML = Nothing