DB result 결과를 XML로 출력하기 : ASP
728x90
반응형
DB 데이터 조회를 리턴 받아 xml 형식으로 뿌려주는 클래스
Result
Source
<% '// X-Framework With ASP '// XmlClasses.asp '// programmed by 최석균 '// http://www.cyworld.com/syaku '// http://syaku.tistory.com Class XmlClasses Private nodeRoot,nodeItem,nodeMessage,nodeError,nodeAct,nodeActRet '## 자동처리 ## Sub Class_Initialize End Sub Sub Class_Terminate Set objXml = Nothing End Sub Public Function objXml '// XMLDOM 생성 Set objXml = Server.CreateObject("Microsoft.XMLDOM") End Function '// 받은 쿼리 데이터를 XML 형식으로 변환 Public Function XmlQuery(Ar,Field) Dim objXml Dim nodeTitle,nodeName,nodeValue Dim key,title,value Dim i,x Set objXml = Me.objXml objXml.async = False objXml.appendChild(objXml.createProcessingInstruction("xml","version=""1.0"" encoding=""" & Application("CharSet") & """ ")) ' 루트 생성 Set nodeRoot = objXml.CreateElement("xf_xml") objXml.appendChild(nodeRoot) If IsArray(Ar) Then For i = 0 To UBound(Ar,2) Set nodeItem = nodeRoot.AppendChild(objXml.CreateElement("item")) x = 0 For Each key In Split(Field,",") Set nodeName = nodeItem.AppendChild(objXml.CreateElement(key)) value = Ar(x,i) If Not IsNull(value) Then nodeName.Text = objXml.createCDATASection(value).text End If x = x + 1 Next Next End If Set XmlQuery = objXml End Function '// 모든 에러 메세지 출력 Public Function XmlError(ErrStr) Dim objXml Dim textMessage,textError textMessage = "" Set objXml = Me.objXml objXml.async = False objXml.appendChild(objXml.createProcessingInstruction("xml","version=""1.0"" encoding=""" & Application("CharSet") & """ ")) Set nodeRoot = objXml.AppendChild(objXml.CreateElement("xf_xml")) Set nodeItem = nodeRoot.AppendChild(objXml.CreateElement("item")) Set nodeMessage = nodeItem.AppendChild(objXml.CreateElement("message")) Set nodeError = nodeItem.AppendChild(objXml.CreateElement("error")) textMessage = "에러 발생" & ErrStr textError = 1 nodeMessage.Text = objXml.createCDATASection(textMessage).text nodeError.Text = textError Set XmlError = objXml End Function End Class ' 클래스 호출 Dim XmlCls Set XmlCls = new XmlClasses %>
Example Source
<%@LANGUAGE="VBSCRIPT"%> <% Option Explicit %> <% ' 949 : EUC-KR / 65001 : UTF8 (언어셋 선택) Application("CodePage") = 949 Application("CharSet") = "EUC-KR" %> <!--#include file=./xmlClasses.asp --> <% ' Xml 형식 Response.ContentType = "text/xml" ' 오류 발생될때 무시 On Error Resume Next Dim Sql,Ar ' 우편번호 데이터 Sql = " SELECT " &_ "ZIPCODE, " &_ "SIDO, " &_ "GUGUN, " &_ "DONG, " &_ "BUNJI " &_ "FROM xf_zipcode " &_ "WHERE DONG LIKE '%해도2동%'" ' XF 용 클래스 (무시) ConnCls.LetQuery = Sql ' XF 용 클래스 (무시) ' Getrow 배열로 데이터 리턴 Ar = ConnCls.QueryExec("select_getrow") Dim field,XmlAction ' SELECT 문의 필드 순서와 똑같아야한다. ' 필등명은 똑같이 않아도 된다. field = "ZIPCODE,SIDO,GUGUN,DONG,BUNJI" Set XmlAction = XmlCls.XmlQuery(Ar,field) '// 오류 발생할 경우 (디버깅용) If Err.Number <> 0 Then Dim xmlStr xmlStr = Chr(10) & "[오류 코드 : " & Err.Number & "] " & Chr(10) & Err.Source & Chr(10) & Err.Description & Chr(10) & ConnCls.GetQuery Set XmlAction = XmlCls.XmlError(xmlStr) End If Err.Clear '// XML 출력 XmlAction.save response %>
written by Seok Kyun. Choi. 최석균.
http://www.cyworld.com/syaku
http://syaku.tistory.com
728x90
반응형
'개발노트 > ASP' 카테고리의 다른 글
X-Framework with ASP : 프레임워크 (0) | 2009.03.19 |
---|---|
자바스크립트를 ASP에서 호출하기 : ASP (0) | 2009.03.18 |
원하는 패턴의 날짜 구하기 : ASP (0) | 2009.03.18 |
다차원 배열(Array) 과 컬렉션 (Scripting.Dictionary) 사용 예제 : ASP (0) | 2009.03.18 |