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

ASP
嵌入式Web视频点播系统实现方法
GB与BIG5内码转换COM原代码
金额阿拉伯数字转换为中文的存储过程
利用 WSH 作定时工作流程
用InstallShield 进行 ASP 软件的打包和自动安装
服务器获得客户端时间的方法
关于如何读出图片的高度与长度的总结
按下回车键指向下一个位置的一个函数
一个不错的随机函数
一套加解密字符串的函数
一段加密函数(base64)
一段加密函数
使用asp实现支持附件的邮件系统(三)
使用asp实现支持附件的邮件系统(二)
使用asp实现支持附件的邮件系统(一)
检查当前目录下是否存在指定的文件,如果存在就重新命名
MD5加密的javascript实现例子
如何在服务器端调用winzip命令行对上传的多个文件打包压缩
MD5不可逆加密算法的ASP实现实例
看人家用使用InstallShield制作ASP安装程序(6)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 131 ::
收藏到网摘: 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>