'원격'에 해당되는 글 1

  1. 2008.08.11 asp로 xml 읽는 것. 정리 잘됨. 원격지까지..
XML로 넘어온 값을 ASP로 받는 방법좀 알려주세요~ Asp

2008/02/14 00:16

복사 http://blog.naver.com/apchima/80048243281

안녕하세요...


XML로 값이 넘어옵니다....

넘어온 값을 ASP변수로 받는방법좀 알려주세요... ^^;;

이렇게 넘어옴니다...

  <?xml version="1.0" encoding="euc-kr" ?>
- <geocode xmlns="naver:openapi">
- <userquery>
<![CDATA[
경기도성남시정자1동25-1
  ]]> <script>f(clean);</script>
  </userquery>
  <total>1</total>
- <item>
- <point>
  <x>321033</x>
  <y>529747</y>
  </point>
- <address>
<![CDATA[
경기도 성남시분당구 정자1동  25-1
  ]]> <script>f(clean);</script>
  </address>
- <addrdetail>
- <sido>
<![CDATA[
경기도
  ]]> <script>f(clean);</script>
- <sigugun>
<![CDATA[
성남시분당구
  ]]> <script>f(clean);</script>
- <dongmyun>
<![CDATA[
정자1동
  ]]> <script>f(clean);</script>
- <rest>
<![CDATA[
25-1
  ]]> <script>f(clean);</script>
  </rest>
  </dongmyun>
  </sigugun>
  </sido>
  </addrdetail>
  </item>
  </geocode>

이렇게 넘오오는값을 ASP변수로 어떻게 받아서 처리하죠?

사실 제가 찾아서 공부해서 해야하는거 알고있습니다만... 시간이 넘 없어요..  ㅜㅡ

알려주시면 잘 공부해놨다가 모르는 다른분 꼭 알려드리겠습니다... ^^;; ^^;;

아울러 ASP + XML공부를 어떻게 해야하는지... 웹싸이트 어딜보면 자세하게 나와있는지도 알려주시면 정말정말 감사하겠습니다...


답변글 기다리겠습니다...

^^;; ^^;;  

 

==========================================================================================

제가 쓰던 XMLDOM 클래스에서 말씀하신 부분에 관련된 부분만 따로 정리한 버전입니다.

아래 코드를 보면 파일 2개로 되어 있는데 첫번째 파일은 XMLDOM 객체의 래핑 클래스이고, 두번째 파일은 이 클래스를 사용한 예제 입니다.


class.xmldom.asp

<%
Class XMLDOMClass
   Private m_DOM ' XMLDOM 객체


   ' ---------------------- 생성자 -----------------------
   Private Sub Class_Initialize()
      Set m_DOM = Server.CreateObject("Microsoft.XMLDOM")
   End Sub
 
   ' ---------------------- 소멸자 -----------------------
   Private Sub Class_Terminate()
      Set m_DOM = Nothing
   End Sub


   ' ------------------- Property Get --------------------
   Public Property Get TagText(tagName, index)
      Dim Nodes
 
      Set Nodes = m_DOM.getElementsByTagName(tagName)
      TagText = Nodes(index).Text
      Set Nodes = Nothing
   End Property
 
   Public Property Get Nodes(tagName)
      Set Nodes = m_DOM.getElementsByTagName(tagName)
   End Property
 
   ' ------------------- 원격 XML 읽기 --------------------
   Public Function LoadHTTP(url)
      with m_DOM
         .async = False ' 동기식 호출
         .setProperty "ServerHTTPRequest", True ' HTTP로 XML 데이터 가져옴
   
         LoadHTTP = .Load(url)
      end with  
   End Function


   ' ------------------- XML 파일 읽기 --------------------
   Public Function Load(file)
      with m_DOM
         .async = False ' 동기식 호출
   
         Load = .Load( Server.MapPath(file) )
      end with
   End Function
End Class
%>


test.asp

<!--#include file='class.xmldom.asp'-->
<%
dim oDOM, url


' XML 데이터 주소
url = "http://test.com/test/xml/data.xml"


Set oDOM = new XMLDOMClass


with oDOM
   if .LoadHTTP(url) Then
      Response.Write "address:" & .TagText("address", 0) & "<br>"
      Response.Write "sido:" & .TagText("sido", 0) & "<br>"
      Response.Write "sigugun:" & .TagText("sigugun", 0) & "<br>"
      Response.Write "dongmyun:" & .TagText("dongmyun", 0) & "<br>"
      Response.Write "rest:" & .TagText("rest", 0) & "<br>"
   else
      Response.Write "XML을 읽어오는데 실패하였습니다."
   End if
end with


Set oDOM = Nothing
%>


XML 데이터에 반복이 없으므로 위 예제처럼 사용하시면 됩니다.

만약 같은 태그의 반복이 있다면 Nodes 프로퍼티를 사용하여 해당 태그의 Node 리스트 전체를 받아서 처리하면 됩니다.