Dom遍歷XML的一個(gè)例子,結(jié)果為樹(shù)狀結(jié)構(gòu)
更新時(shí)間:2007年01月03日 00:00:00 作者:
knowledge.XML文件
bianli.asp文件
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/xsl" href="knowledge.xsl"?>
<Ebaihe name="Ebaihe" type="gs" id="gs000">
<知識(shí)管理 name="知識(shí)管理" type="rt" id="rt000">
<目錄 name="vc++" type="ml" id="ml003"/>
<目錄 name="asp" type="ml" id="ml001">
<知識(shí) name="什么是ASP 1" type="zs" id="zs001">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
<知識(shí) name="什么是ASP 2" type="zs" id="zs002">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
</目錄>
<目錄 name="vbs" type="ml" id="ml002">
<知識(shí) name="什么是vbs 1" type="zs" id="zs003">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
<知識(shí) name="什么是vbs 2" type="zs" id="zs004">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
</目錄>
</知識(shí)管理>
<留言簿 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>
<?xml:stylesheet type="text/xsl" href="knowledge.xsl"?>
<Ebaihe name="Ebaihe" type="gs" id="gs000">
<知識(shí)管理 name="知識(shí)管理" type="rt" id="rt000">
<目錄 name="vc++" type="ml" id="ml003"/>
<目錄 name="asp" type="ml" id="ml001">
<知識(shí) name="什么是ASP 1" type="zs" id="zs001">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
<知識(shí) name="什么是ASP 2" type="zs" id="zs002">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
</目錄>
<目錄 name="vbs" type="ml" id="ml002">
<知識(shí) name="什么是vbs 1" type="zs" id="zs003">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
<知識(shí) name="什么是vbs 2" type="zs" id="zs004">
<title>什么是ASP</title>
<author>cxx</author>
<adddate>2001-02-20</adddate>
<content>ASP:Active Server Page</content>
</知識(shí)>
</目錄>
</知識(shí)管理>
<留言簿 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文件
復(fù)制代碼 代碼如下:
<% @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>
<%
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>
您可能感興趣的文章:
- jQuery實(shí)現(xiàn)遍歷XML節(jié)點(diǎn)和屬性的方法示例
- python xml.etree.ElementTree遍歷xml所有節(jié)點(diǎn)實(shí)例詳解
- php遍歷解析xml字符串的方法
- java遍歷讀取xml文件內(nèi)容
- ajax遍歷xml文檔的方法
- PHP遍歷XML文檔所有節(jié)點(diǎn)的方法
- python目錄操作之python遍歷文件夾后將結(jié)果存儲(chǔ)為xml
- asp.net Linq To Xml上手Descendants、Elements遍歷節(jié)點(diǎn)
- Xml中使用foreach遍歷對(duì)象實(shí)現(xiàn)代碼
相關(guān)文章
ASP生成隨機(jī)字符串(數(shù)字+大小寫(xiě)字母)的代碼
ASP生成隨機(jī)字符串(數(shù)字+大小寫(xiě)字母)的代碼...2007-10-10ASP中實(shí)現(xiàn)限制IP的函數(shù)詳解
ASP中實(shí)現(xiàn)限制IP的函數(shù)詳解...2007-04-04ajax XMLHTTP Post Form時(shí)的表單亂碼綜合解決
用XMLHTTP Post Form時(shí)的表單亂碼有兩方面的原因——Post表單數(shù)據(jù)時(shí)中文亂碼;服務(wù)器Response被XMLHTTP不正確編碼引起的亂碼。換句話說(shuō),本文主要解決兩個(gè)問(wèn)題——怎樣正確Post中文內(nèi)容&怎樣正確顯示得到的中文內(nèi)容。2008-05-05ASP提示錯(cuò)誤 ''8002801d''的解決辦法
這篇文章主要介紹了ASP提示錯(cuò)誤 '8002801d'的解決辦法,本文使用重新注冊(cè)的方法解決了這個(gè)問(wèn)題,需要的朋友可以參考下2014-09-09asp實(shí)現(xiàn)的sha1加密解密代碼(和C#兼容)
這篇文章主要介紹了asp實(shí)現(xiàn)的sha1加密解密代碼,可以和ASP.NET(C#)相互兼容,需要的朋友可以參考下2014-08-08