2008-09-18 6 views
5

나는 ASP에 처음 오므 며 앞으로 며칠 내에 마감 시간을 갖습니다. 웹 서비스 응답에서 다음 xml을받습니다.Asp XML 구문 분석

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">[email protected]</attribute> 
</person_info> 
</user_data>"); 

어떻게이 XML을 ASP 속성으로 구문 분석 할 수 있습니까? aboce 응답이 웹 서비스 호출에서와 같이

이 어떤 도움을 크게 더 분석에

감사 데미안

을 감사합니다, 어떤 비누 물건도 반환됩니다. 나는 여전히 아래의 lukes 코드를 사용할 수 있습니까?

답변

9

MSXML 파서에 대해 읽어야합니다. 여기에 좋은 올인원 예제에 대한 링크가 있습니다. http://oreilly.com/pub/h/466

XPath에 대한 정보는 도움이 될 것입니다. MSDN에서 필요한 모든 정보를 얻을 수 있습니다.

집계 목적으로 Luke 우수한 응답의 코드를 훔치는 :

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

나는 이해하지 못한다 .. 당신은 sValue로 아무 것도하지 않는다 ?? – JoJo

0

당신은 XMLDocument 객체로 XML을로드하려고 후이 방법의 사용을 분석 할 수 있습니다.

6

ASP에서 나는 당신이 Classic ASP를 의미한다고 생각하니? 시도해보십시오 :

위 코드는 XML을 sXML이라는 변수에 넣었다고 가정합니다. ServerXMLHttp 요청을 통해이를 사용하는 경우 위의 oXML 대신 개체의 ResponseXML 속성을 사용하고 LoadXML 단계를 건너 뛸 수 있어야합니다.