打印本文 打印本文  关闭窗口 关闭窗口
Dom遍历XML的一个例子,结果为树状结构
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 12:59:55
& 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>


上一页  [1] [2] 



打印本文 打印本文  关闭窗口 关闭窗口