2011. 8. 3. 11:43

ASP XML 파싱

ASP XML 파싱할때 두가지의 경우가있다

하나, 작업하는 서버안에 xml 파일이 있을경우,
둘, 원격서버 즉 다른서버이 xml 파일이 있을경우,

첫번째 경우,
다이렉트로 직접 파싱 후 접근하면되고

Set oXml = Server.CreateObject("microsoft.XMLDOM")
    oXml.async = false
    oXml.loadXML( server.mappath("경로"))

    xPath = "/user/status"
    Set itemNodes = oXml.selectNodes(xPath)
    For Each itemNode In itemNodes
        data("post_id") = itemNode.SelectSingleNode("id").Text
    Next

두번째 경우,
먼저 http 형식으로 데이터를 가져와서 xml 로 파싱한 후 접근해야된다.

Set data = Server.CreateObject("Scripting.Dictionary")
    url = "http://api.twitter.com/1/users/show/wnewskr.xml" 
    Set objXmlHttp  = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
    objXmlHttp.open "GET", url , false

    objXmlHttp.send  '요청
    strResponseText = objXmlHttp.responseText  '응답 텍스트 저장
    Set objXmlHttp  = Nothing
    'DOM 파서를 이용해 파싱 
    Set oXml = Server.CreateObject("microsoft.XMLDOM")
    oXml.async = false
    oXml.loadXML( strResponseText ) '스트링으로 로드하기 때문에 loadXML 메서드 사용.

    xPath = "/user/status"
    Set itemNodes = oXml.selectNodes(xPath)
    For Each itemNode In itemNodes
        data("post_id") = itemNode.SelectSingleNode("id").Text
    Next