달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

http://suite.tistory.com/ fs  2007.05 에 쓰던거


common.asp  souce

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<%
 
 Class SrchInfo
 
  Private Sub Class_Initialize() ' <- 생성자
   Dim SERVER_URL
   SERVER_URL="http://localhost:6973/test.cgi"
   
   Redim Preserve m_ParamList(1)
   m_ParamList(uBound(m_ParamList))=SERVER_URL
  End Sub
 
  Private Sub Class_Terminate() ' <- 소멸자
  End Sub
 
  '연결 정보 변수
  Public m_URL
  Public m_ParamList()
 
  '호출 파라미터 할당
  Public Sub SetQRY(p_name,p_value)
   
   ReDim preserve m_ParamList(uBound(m_ParamList)+1)
   m_ParamList(uBound(m_ParamList))=p_name & "=" & p_value & "&"
   m_URL=Join(m_ParamList,"")
  End Sub

  '결과 정보 변수
  public head1
  public head1
  public head1
 
  public RESULT_DICT()
 
  '헤더 정보 담아오기
  public sub GetHeader(ROOT)
   
   head1=ROOT.childNodes(0).Attributes(0).text
   head2=ROOT.childNodes(0).childNodes(0).text
   head3=ROOT.childNodes(0).childNodes(1).text


  End sub
  '결과 데이터 담아오기
  public sub GetResults(ROOT)
 
   ReDim RESULT_DICT(outcnt-1)
   Dim i,DOC_ROOT,ATT_ROOT,start_child
   ' 데이터 자식로드가 시작되는 번호
   start_child=9
   
   For i=0 to outcnt-1
    'XML 문서의 doc 시작
    Dim doc_num,j
    doc_num=i+start_child
    Set DOC_ROOT=ROOT.childNodes(0).childNodes(doc_num)
    set RESULT_DICT(i)=createobject("scripting.dictionary")
   
    For j=0 To DOC_ROOT.childNodes.length-1
     Set ATT_ROOT=DOC_ROOT.childNodes(j)
     '값 할당
     RESULT_DICT(i).add ATT_ROOT.Attributes(0).text ,ATT_ROOT.text
    Next
   
   Next
   
  End sub
 
 End Class
 
%>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

sample.asp  샘플 페이지

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


<%@ Language=VBScript %>
<% Option Explicit %>
<!--#include file="common.asp"-->
<HTML>

<META http-equiv="Content-Type" content="text/html; charset=euc-kr" />

<HEAD>

<TITLE>XML ASP 파서 샘플 페이지</TITLE>

</HEAD>

<BODY>
<P>

<%

Dim OB_SrchInfo,xmldoc

' XML DOM 객체를 생성
Set xmldoc=Server.CreateObject("Microsoft.XMLDOM")
xmldoc.async=false
xmldoc.setProperty "ServerHTTPRequest",true
'검색XML 결과를 담기위한 클래스
Set OB_SrchInfo=new SrchInfo

' 쿼리지정
OB_SrchInfo.SetQRY "qry" ,"*"

' 한페이지당 요청 건수
OB_SrchInfo.SetQRY "req_max" ,"10"
' 요청 페이지
OB_SrchInfo.SetQRY "page" ,"1"

' xml 파서 시작
xmldoc.Load OB_SrchInfo.m_URL

Response.Write "<h2> XML 파서 샘플 페이지 </h2>"
Response.Write "<xmp> <XML 호출 URL> :" &  OB_SrchInfo.m_URL & "</xmp>"
 

Dim ROOT
Set ROOT = xmldoc.documentElement

' 검색 XML 에서 헤더정보 담기
OB_SrchInfo.GetHeader ROOT

if(OB_SrchInfo.outcnt=0) then
 Response.Write OB_SrchInfo.m_URL & "<br>"
 Response.Write "<br><font red=color>검색결과 없음!</font>"
 Response.End
end if

' 검색 XML 에서 결과 데이터 담기
OB_SrchInfo.GetResults ROOT


%>
 
<검색 결과 헤더 정보> : <br>
 &nbsp;&nbsp;- 전체건수: <%= OB_SrchInfo.totcnt %> <br>
 &nbsp;&nbsp;- 요청건수(outmax값): <%= OB_SrchInfo.maxcnt %> <br>
 &nbsp;&nbsp;- 출력건수: <%= OB_SrchInfo.outcnt %> <br>
 &nbsp;&nbsp;- 출력페이지번호: <%= OB_SrchInfo.pagenum %> <br>

<p>
<검색 결과 데이터> :

<%

Response.Write "<p>"

Dim i

For i=0 to OB_SrchInfo.outcnt-1
 
 Response.Write "번호:" & i & "<br>"
 'OB_SrchInfo.RESULT_DICT(i).item("XML 결과의 필드이름을 입력하여 뽑는다")
 Response.Write "^DocId:" & OB_SrchInfo.RESULT_DICT(i).item("^DocId:") & "<br>"
 Response.Write "제목:" & OB_SrchInfo.RESULT_DICT(i).item("^DocTitle:") & "<br>"
 Response.Write "날짜:" & OB_SrchInfo.RESULT_DICT(i).item("^StartDate:") & "<br>"


 Response.Write "<p>"

Next

Set ROOT = nothing
Set OB_SrchInfo = nothing
Set xmldoc = nothing
%>
</BODY>

</HTML>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

이걸 봐서는 ASP 말고 자바 스크립트만 가지고도 할 수 있을 것 같기도하다~~~

 

:
Posted by mastar