Asp XML Parsing

后端 未结 3 1917
慢半拍i
慢半拍i 2020-12-10 18:28

I am new to asp and have a deadline in the next few days. i receive the following xml from within a webservice response.

print(\"

        
相关标签:
3条回答
  • 2020-12-10 19:09

    You need to read about MSXML parser. Here is a link to a good all-in-one example http://oreilly.com/pub/h/466

    Some reading on XPath will help as well. You could get all the information you need in MSDN.

    Stealing the code from Luke excellent reply for aggregation purposes:

    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
    
    0 讨论(0)
  • 2020-12-10 19:10

    You could try loading the xml into the xmldocument object and then parse it using it's methods.

    0 讨论(0)
  • 2020-12-10 19:16

    By ASP I assume you mean Classic ASP? Try:

    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
    

    The above code assumes you have your XML in a variable called sXML. If you are consuming this via an ServerXMLHttp request, you should be able to use the ResponseXML property of your object in place of oXML above and skip the LoadXML step altogether.

    0 讨论(0)
提交回复
热议问题