Domanda

Sono nuovo di asp e con scadenza nei prossimi giorni.ho visualizzato il seguente xml da un webservice risposta.

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">john.doe@johnmail.com</attribute>
</person_info>
</user_data>");

Come posso analizzare questo file xml in asp attributi?

Qualsiasi aiuto è molto apprezzato

Grazie Damien

In ulteriori analisi, sapone roba è anche restituito come ziemi risposta è da una chiamata al servizio web.posso ancora utilizzare lukes codice riportato di seguito?

È stato utile?

Soluzione

Avete bisogno di leggere parser MSXML.Ecco un link ad un buon all-in-one per esempio http://oreilly.com/pub/h/466

Qualche lettura su XPath sarà di aiuto.Si potrebbe ottenere tutte le informazioni di cui hai bisogno MSDN.

Rubare il codice da Luca ottima risposta per l'aggregazione finalità:

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

Altri suggerimenti

ASP presumo che dire Classic ASP?Provare:

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

Il codice di cui sopra presuppone che si dispone di XML in una variabile chiamata sXML.Se si sta consumando questa via di una richiesta di ServerXMLHttp, si dovrebbe essere in grado di utilizzare il ResponseXML proprietà dell'oggetto nel luogo di oXML sopra e saltare LoadXML fase del tutto.

Si potrebbe provare a caricare l'xml in un oggetto xmldocument e quindi analizzare essa usando metodi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top