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?
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.