中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 综合文章
Dom遍历XML的一个例子,结果为树状结构
作者:佚名 时间:2004-10-05 10:44 出处:互连网 责编:chinaitpower
              摘要:Dom遍历XML的一个例子,结果为树状结构
knowledge.XML文件

<?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/xsl" href="knowledge.xsl"?>
<Ebaihe name="Ebaihe" type="gs" id="gs000">
<知识管理 name="知识管理" type="rt" id="rt000">
  <目录 name="vc++" type="ml" id="ml003"/>
  <目录 name="asp" type="ml" id="ml001">
     <知识 name="什么是ASP 1" type="zs" id="zs001">
        <title>什么是ASP</title>
        <author>cxx</author>
        <adddate>2001-02-20</adddate>
        <content>ASP:Active Server Page</content>
     </知识>
     <知识 name="什么是ASP 2" type="zs" id="zs002">
        <title>什么是ASP</title>
        <author>cxx</author>
        <adddate>2001-02-20</adddate>
        <content>ASP:Active Server Page</content>
     </知识>
  </目录>
  <目录 name="vbs" type="ml" id="ml002">
     <知识 name="什么是vbs 1" type="zs" id="zs003">
        <title>什么是ASP</title>
        <author>cxx</author>
        <adddate>2001-02-20</adddate>
        <content>ASP:Active Server Page</content>
     </知识>
     <知识 name="什么是vbs 2" type="zs" id="zs004">
        <title>什么是ASP</title>
        <author>cxx</author>
        <adddate>2001-02-20</adddate>
        <content>ASP:Active Server Page</content>
     </知识>
  </目录>
</知识管理>
<留言簿 name="留言簿" type="ly" id="ly000">
  <单元 name="你好" type="dy" id="dy001">
     <留言 name="Who are you" type="zs" id="zs005">
        <title>什么是ASP</title>
        <author>cxx</author>
        <adddate>2001-02-20</adddate>
        <content>ASP:Active Server Page</content>
     </留言>
     <留言 name="你好" type="zs" id="zs006">
        <title>什么是ASP</title>
        <author>cxx</author>
        <adddate>2001-02-20</adddate>
        <content>ASP:Active Server Page</content>
     </留言>
  </单元>
  <单元 name="我的留言" type="dy" id="dy003"/>
</留言簿>
<留言簿 name="留言簿" type="ly" id="ly001"/>
</Ebaihe>

bianli.asp文件

<% @LANGUAGE=VBScript%>
<%
function getimgstr(ttid,ttname,ttlvl,tttype,ttlf,ttlstr)
   dim ttstr1
   if ttlvl=0 then
         ttstr1=ttstr1 & "<a href=" & chr(34) & "#" & chr(34)
         ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & "2" & "')"
         ttstr1=ttstr1 & chr(34) & ">"
         ttstr1= ttstr1 & "<img border=" & chr(34) & "0" & chr(34) & " src=" & chr(34)
         ttstr1= ttstr1 & "image/Computer.gif" & chr(34) & " height=16>" & "</a>"
         ttstr1=ttstr1 & "<a href=" & chr(34) & "#" & chr(34)
         ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & "2" & "')"
         ttstr1=ttstr1 & chr(34) & ">"
         ttstr1=ttstr1 & ttname & "</a><br>" & vbcrlf
         ttstr1=ttstr1 & "<div id=" & chr(34) & ttid & chr(34) & " style=display:none>" & vbcrlf
   else
      for i= 2 to len(ttlstr)-1
         if mid(ttlstr,i,1)="1" then
            ttstr1 = ttstr1 & "<img border=" & chr(34) & "0" & chr(34) & " src=" & chr(34)
            ttstr1 = ttstr1 & "image/I-line.gif" & chr(34) & " height=16>"
         end if
         if mid(ttlstr,i,1)="0" then
            ttstr1 = ttstr1 & "<img border=" & chr(34) & "0" & chr(34) & " src=" & chr(34)
            ttstr1 = ttstr1 & "image/none.gif" & chr(34) & " height=16>"
         end if
      next
      if tttype=1 then
         ttstr1= ttstr1 & "<a href=" & chr(34) & "#" & chr(34)
         ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
         ttstr1=ttstr1 & chr(34) & ">"
         ttstr1=ttstr1 & "<img border=" & chr(34) & "0" & chr(34) & " src=" & chr(34)
         if ttlf=0 then
            ttstr1= ttstr1 & "image/T-plus.gif" & chr(34) & " id=" & chr(34) & "l-" & ttid & chr(34) & "
height=16></a>"
         else
            ttstr1= ttstr1 & "image/l-plus.gif" & chr(34) & " id=" & chr(34) & "l-" & ttid & chr(34) & "
height=16></a>"
         end if
         ttstr1= ttstr1 & "<a href=" & chr(34) & "#" & chr(34)
         ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
         ttstr1=ttstr1 & chr(34) & ">"
         ttstr1=ttstr1 & "<img border=" & chr(34) & "0" & chr(34) & " src=" & chr(34)
         ttstr1= ttstr1 & "image/c-fold.bmp" & chr(34) & " id=" & chr(34) & "p-" & ttid & chr(34) & "
height=16></a>"
         ttstr1= ttstr1 & "<a href=" & chr(34) & "#" & chr(34)
         ttstr1=ttstr1 & " onclick=" &chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
         ttstr1=ttstr1 & chr(34) & ">"
         ttstr1=ttstr1 & ttname & "</a><br>" & vbcrlf
         ttstr1=ttstr1 & "<div id=" & chr(34) & ttid & chr(34) & " style=display:none>" & vbcrlf
      else
         ttstr1 = ttstr1 & "<img border=" & chr(34) & "0" & chr(34) & " src=" & chr(34)
         if ttlf=0 then
            ttstr1 = ttstr1 & "image/t-line.gif" & chr(34) & " height=16>"
         else
            ttstr1 = ttstr1 & "image/l-line.gif" & chr(34) & " height=16>"
         end if
         ttstr1= ttstr1 & "<a href=" & chr(34) & "#" & chr(34)
         ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','3')"
         ttstr1=ttstr1 & chr(34) & ">"
         ttstr1=ttstr1 & "<img border=" & chr(34) & "0" & chr(34) & " src=" & chr(34)
         ttstr1= ttstr1 & "image/leaf.bmp " & chr(34) & " id=" & chr(34) & "p-" & ttid & chr(34) & "
height=16></a>"
         ttstr1= ttstr1 & "<a href=" & chr(34) & "#" & chr(34)
         ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','3')"
         ttstr1=ttstr1 & chr(34) & ">"
         ttstr1=ttstr1 & ttname & "</a><br>" & vbcrlf
         ttstr1=ttstr1 & "<div id=" & chr(34) & ttid & chr(34) & " style=display:none></div>" & vbcrlf
      end if
   end if
   getimgstr=ttstr1
end function
Function ShowNode(node,mylvl,myleaf,mylstr)
   dim ttstr
   dim mystr
   dim ttleaf
   dim ttn
   ttn=0
   if myleaf=0 then
      ttleaf=0
   else
      ttleaf=1
   end if
For Each child In node.childNodes
    ttn=ttn+1
    If (child.nodeType=1) Then
       nod_name=child.Attributes.getnamedItem("name").Text
       nod_type=child.Attributes.getnamedItem("type").Text
       nod_id=child.Attributes.getnamedItem("id").Text
       if nod_type<>"zs" then
          If (child.hasChildNodes) Then
             if ttn=node.childnodes.length then
                mystr=mystr & getimgstr(nod_id,nod_name,mylvl,1,1,mylstr & "0")
                ttstr=ShowNode(child,mylvl+1,1,mylstr & "0")
             else
                mystr=mystr & getimgstr(nod_id,nod_name,mylvl,1,0,mylstr & "1")
                ttstr=ShowNode(child,mylvl+1,0,mylstr & "1")
             end if
             mystr=mystr & ttstr
             mystr=mystr & "</div>"
          else
             if ttn=node.childnodes.length then
                mystr=mystr & getimgstr(nod_id,nod_name,mylvl,0,1,mylstr & "0")
             else
                mystr=mystr & getimgstr(nod_id,nod_name,mylvl,0,0,mylstr & "1")
             end if
          End If
       else
          if ttn=node.childnodes.length then
             mystr=mystr & getimgstr(nod_id,nod_name,mylvl,0,1,mylstr & "0")
          else
             mystr=mystr & getimgstr(nod_id,nod_name,mylvl,0,0,mylstr & "1")
          end if
       end if
    end if
Next
ShowNode=mystr
End Function
  dim xmldoc
  dim xmlstr
  Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")
  xmldoc.async=false
  xmldoc.load(Server.MapPath("knowledge.xml"))
  xmlstr=ShowNode(xmldoc,0,0,"")
'  set xmldoc=nothing
'parent.results.display(source.transformNode(style));
%>
<html>

<head>
</head>

<body>
<script language="VBScript">

dim olditem

sub OnClickDiv(DivId,pType)
   if (document.all(DivId).style.display="none") then
      document.all(DivId).style.display=""
      if (pType="0") then
        document.all("l-"+DivId).src="image/t-minus.gif"
        document.all("p-"+DivId).src="image/o-fold.bmp"
      end if
      if (pType="1") then
        document.all("l-"+DivId).src="image/l-minus.gif"
        document.all("p-"+DivId).src="image/o-fold.bmp"
      end if
      'if (pType="3") then
      '  document.all("p-"+DivId).src="image/o-fold.bmp"
      'end if
   else
      document.all(DivId).style.display="none"
      if (pType="0") then
        document.all("l-"+DivId).src="image/t-plus.gif"
        document.all("p-"+DivId).src="image/c-fold.bmp"
      end if
      if (pType="1") then
         document.all("l-"+DivId).src="image/l-plus.gif"
         document.all("p-"+DivId).src="image/c-fold.bmp"
      end if
      'if (pType="3") then
      '  document.all("p-"+DivId).src="image/c-fold.bmp"
      'end if
    end if
end sub
</script>
<font name="宋体" size="2">
<nobr><%=xmlstr%></nobr></font>
</body>


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有