Frage
Ich bin eine Frist in den nächsten Tagen Asp und hat. i die folgende XML aus einer Webservice Antwort.
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>");
Wie kann ich analysieren diese xml in asp Attribute?
Jede Hilfe wird sehr geschätzt
Danke Damien
Auf mehr Analyse wird einige Seifen Sachen auch wieder als die aboce Antwort von einem Webservice-Aufruf ist. kann ich lukes Code unten verwenden noch?
Lösung
Sie müssen sich über MSXML-Parser lesen. Hier ist ein Link zu einem guten all-in-one Beispiel http://oreilly.com/pub/h / 466
Einige Lesung am XPath wird auch helfen. Sie könnten alle Informationen, die Sie in MSDN benötigen.
Stehlen Sie den Code aus Luke ausgezeichnete Antwort für die Aggregation Zwecke:
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
Andere Tipps
Mit dem ASP gehe ich davon aus Sie den klassischen ASP bedeuten? Versuchen Sie:
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
Der obige Code wird vorausgesetzt, Sie haben Ihre XML in einer Variablen namens SXML. Wenn Sie dies über eine ServerXMLHttp Anfrage verbrauchen, sollten Sie in der Lage sein, die Eigenschaft responseXML des Objekts anstelle von oXML oben und lassen Sie den LoadXML Schritt insgesamt zu verwenden.
Sie könnten versuchen, die XML in das XmlDocument-Objekt zu laden und dann analysieren sie es Methoden verwenden.