본문 바로가기
Program

asp로 xml 읽어 들이는 예제

본문

<%
Class clsMenuInfo
    Public menuName     ' 메뉴명
    Public menuLink     ' 메뉴 링크
    Public menuStep     ' 메뉴 단계
End Class

Dim XMLDOM, Rootnode, Currentnode, xml_filename, i,j,k, nCount
dim lowtree     ' 하위 노드 여부
dim c_lowtree   ' 하위 하위 노드 여부

nCount = 0

xml_filename = Request.ServerVariables("APPL_PHYSICAL_PATH")& "tree.xml"
Set XMLDOM = Server.CreateObject("Microsoft.XMLDOM")
XMLDOM.load xml_filename

'--------------------------------------------------
' 1 depth
'--------------------------------------------------
Set Rootnode = XMLDOM.DocumentElement
For i = 0 to Rootnode.Childnodes.length - 1
    lowtree = Rootnode.Childnodes(i).Attributes(1).Text
    if lowtree = "true" then
        ReDim Preserve menuInfo(nCount + 1)
        Set menuInfo(nCount) = New clsMenuInfo
        menuInfo(nCount).menuName   = Rootnode.Childnodes(i).Attributes(0).Text
        menuInfo(nCount).menuLink   = ""
        menuInfo(nCount).menuStep   = "1"
        nCount = nCount + 1
        '--------------------------------------------------
        ' 2 depth
        '--------------------------------------------------
        Set Childnode = Rootnode.Childnodes(i)
        For j = 0 to Childnode.Childnodes.length - 1
            c_lowtree = Childnode.Childnodes(j).Attributes(1).Text
            if c_lowtree = "true" then
                ReDim Preserve menuInfo(nCount + 1)
                Set menuInfo(nCount) = New clsMenuInfo
                menuInfo(nCount).menuName   = Childnode.Childnodes(j).Attributes(0).Text
                menuInfo(nCount).menuLink   = ""
                menuInfo(nCount).menuStep   = "2"
                nCount = nCount + 1
                '--------------------------------------------------
                ' 3 depth
                '--------------------------------------------------            
                Set ChildChildnode = Childnode.Childnodes(j)
                For k = 0 to ChildChildnode.Childnodes.length - 1
                    ReDim Preserve menuInfo(nCount + 1)
                    Set menuInfo(nCount) = New clsMenuInfo
                    menuInfo(nCount).menuName   = ChildChildnode.Childnodes(k).Attributes(0).Text
                    menuInfo(nCount).menuLink   = ChildChildnode.Childnodes(k).Attributes(2).Text
                    menuInfo(nCount).menuStep   = "3"
                    nCount = nCount + 1
                next
            else
                ReDim Preserve menuInfo(nCount + 1)
                Set menuInfo(nCount) = New clsMenuInfo
                menuInfo(nCount).menuName   = Childnode.Childnodes(j).Attributes(0).Text
                menuInfo(nCount).menuLink   = Childnode.Childnodes(j).Attributes(2).Text
                menuInfo(nCount).menuStep   = "2"
                nCount = nCount + 1
            end if
        next
    else
        ReDim Preserve menuInfo(nCount + 1)
        Set menuInfo(nCount) = New clsMenuInfo
        menuInfo(nCount).menuName   = Rootnode.Childnodes(i).Attributes(0).Text
        menuInfo(nCount).menuLink   = Rootnode.Childnodes(i).Attributes(2).Text
        menuInfo(nCount).menuStep   = "1"
        nCount = nCount + 1
    end if
Next

for i = 0 to UBound(menuInfo) - 1
    strMenuName = menuInfo(i).menuName
    strMenuLink = menuInfo(i).menuLink
    strMenuStep = menuInfo(i).menuStep
   
    for j = 2 to strMenuStep
        strOut = strOut & "    "
    next
    strOut = strOut & "<input type=""checkbox"" name=""auth_menu"" value=""" &strMenuLink& """ id=""id_" & i & """>"
    strOut = strOut & "<label for=""id_" & i & """>" & strMenuName & "</label><br>" & vbCrLf
   
next

Response.Write strOut

Set Rootnode = nothing
Set Childnode = nothing
Set ChildChildnode = nothing
Set XMLDOM = nothing
%>
[이 게시물은 듀라님에 의해 2015-04-03 10:08:13 워드프레스에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:27:24 Public에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:33:53 팁과강좌에서 이동 됨]
[이 게시물은 최고관리자님에 의해 2017-06-10 14:24:30 ASP에서 이동 됨]
0 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

l2j (121.♡.101.20) 작성일07-05-02 14:51 조회1,782회 댓글0건

댓글목록

등록된 댓글이 없습니다.

Program 목록

게시물 검색

사이트 정보

  • 회사명 회사명 / 대표 대표자명
  • 주소 OO도 OO시 OO구 OO동 123-45
  • 사업자 등록번호 123-45-67890
  • 전화 02-123-4567 / 팩스 02-123-4568
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

  • 02-1234-5678
  • abc@abc.com
  • 월-금 am 11:00 - pm 05:00
  • 점심시간 : am 12:00 - pm 01:00
  • 주말&공휴일은 1:1문의하기를 이용하세요.
상단으로