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 리스트 전체를 받아서 처리하면 됩니다.

'asp' 카테고리의 다른 글

asp + Oracle 페이징  (0) 2008.12.04
Preventing SQL Injections in ASP  (0) 2008.10.28
VBSCRIPT ERROR CODE  (0) 2008.09.25
ASP성능 참고  (0) 2008.09.24
ASP 응용 프로그램의 문자열 처리 성능 향상  (0) 2008.09.23

+ Recent posts