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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top