当前位置: 首页 > 图文教程 > 网络编程 > ASP > Dom遍历XML的一个例子,结果为树状结构

ASP
asp分页(自己整理的2个分页程序)
ASP常用的系统配置函数
雨哲防采集策略之列表篇
雨哲浅谈关于防采集而不影响收录内容篇
asp数据库连接函数
ajax XMLHTTP Post Form时的表单乱码综合解决
ASP注入详细命令40条
用ASP实现MSSQL用户密码破解
ASP创建对象的两种方法比较
ASP字符串转换为整形、双精度型、布尔
ASP计算str2在str1中出现的次数
asp采集抓取网上房产信息的代码
ASP注册登陆实例代码
ASP中使用FileSystemObject时提高性能的方法
分享一个好东东,动态Include文件 (Dynamic File Includes)
解决 JScript 中使用日期类型数据时出现类型错误的问题
在ASP里面创建GUID
在JScript中使用缓存技术的实际代码
ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
海阳2006+功能中的潜水王

ASP 中的 Dom遍历XML的一个例子,结果为树状结构


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 110 ::
收藏到网摘: n/a

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 & "/upload/tech/20091012/20091012012047_f2fc990265c712c49d51a18a32b39f0c.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 & "/upload/tech/20091012/20091012012048_1595af6435015c77a7149e92a551338e.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 & "/upload/tech/20091012/20091012012048_acf4b89d3d503d8252c9c4ba75ddbf6d.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 & "/upload/tech/20091012/20091012012049_b73ce398c39f506af761d2277d853a92.gif" & chr(34) & " id=" & chr(34) & "l-" & ttid & chr(34) & "
height=16></a>"
else
ttstr1= ttstr1 & "/upload/tech/20091012/20091012012049_c5ab0bc60ac7929182aadd08703f1ec6.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 & "/upload/tech/20091012/20091012012050_53c3bce66e43be4f209556518c2fcb54.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 & "/upload/tech/20091012/20091012012050_0a113ef6b61820daa5611c870ed8d5ee.gif" & chr(34) & " height=16>"
else
ttstr1 = ttstr1 & "/upload/tech/20091012/20091012012051_795c7a7a5ec6b460ec00c5841019b9e9.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("/upload/tech/20091012/20091012012051_2ab56412b1163ee131e1246da0955bd1.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="/upload/tech/20091012/20091012012051_ed3d2c21991e3bef5e069713af9fa6ca.gif"
document.all("p-"+DivId).src="/upload/tech/20091012/20091012012052_1c1d4df596d01da60385f0bb17a4a9e0.bmp"
end if
if (pType="1") then
document.all("l-"+DivId).src="/upload/tech/20091012/20091012012053_82489c9737cc245530c7a6ebef3753ec.gif"
document.all("p-"+DivId).src="/upload/tech/20091012/20091012012052_1c1d4df596d01da60385f0bb17a4a9e0.bmp"
end if
'if (pType="3") then
' document.all("p-"+DivId).src="/upload/tech/20091012/20091012012052_1c1d4df596d01da60385f0bb17a4a9e0.bmp"
'end if
else
document.all(DivId).style.display="none"
if (pType="0") then
document.all("l-"+DivId).src="/upload/tech/20091012/20091012012054_432aca3a1e345e339f35a30c8f65edce.gif"
document.all("p-"+DivId).src="/upload/tech/20091012/20091012012050_53c3bce66e43be4f209556518c2fcb54.bmp"
end if
if (pType="1") then
document.all("l-"+DivId).src="/upload/tech/20091012/20091012012049_c5ab0bc60ac7929182aadd08703f1ec6.gif"
document.all("p-"+DivId).src="/upload/tech/20091012/20091012012050_53c3bce66e43be4f209556518c2fcb54.bmp"
end if
'if (pType="3") then
' document.all("p-"+DivId).src="/upload/tech/20091012/20091012012050_53c3bce66e43be4f209556518c2fcb54.bmp"
'end if
end if
end sub
</script>
<font name="宋体" size="2">
<nobr><%=xmlstr%></nobr></font>
</body>