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 |