您现在的位置是:网站首页> 编程资料编程资料
Dom遍历XML的一个例子,结果为树状结构_应用技巧_
2023-05-25
236人已围观
简介 Dom遍历XML的一个例子,结果为树状结构_应用技巧_
knowledge.XML文件
<知识管理 name="知识管理" type="rt" id="rt000">
<目录 name="vc++" type="ml" id="ml003"/>
<目录 name="asp" type="ml" id="ml001">
<知识 name="什么是ASP 1" type="zs" id="zs001">
什么是ASP
cxx
2001-02-20
ASP:Active Server Page
知识>
<知识 name="什么是ASP 2" type="zs" id="zs002">
什么是ASP
cxx
2001-02-20
ASP:Active Server Page
知识>
目录>
<目录 name="vbs" type="ml" id="ml002">
<知识 name="什么是vbs 1" type="zs" id="zs003">
什么是ASP
cxx
2001-02-20
ASP:Active Server Page
知识>
<知识 name="什么是vbs 2" type="zs" id="zs004">
什么是ASP
cxx
2001-02-20
ASP:Active Server Page
知识>
目录>
知识管理>
<留言簿 name="留言簿" type="ly" id="ly000">
<单元 name="你好" type="dy" id="dy001">
<留言 name="Who are you" type="zs" id="zs005">
什么是ASP
cxx
2001-02-20
ASP:Active Server Page
留言>
<留言 name="你好" type="zs" id="zs006">
什么是ASP
cxx
2001-02-20
ASP:Active Server Page
留言>
单元>
<单元 name="我的留言" type="dy" id="dy003"/>
留言簿>
<留言簿 name="留言簿" type="ly" id="ly001"/>
bianli.asp文件
复制代码 代码如下:
<知识管理 name="知识管理" type="rt" id="rt000">
<目录 name="vc++" type="ml" id="ml003"/>
<目录 name="asp" type="ml" id="ml001">
<知识 name="什么是ASP 1" type="zs" id="zs001">
知识>
<知识 name="什么是ASP 2" type="zs" id="zs002">
知识>
目录>
<目录 name="vbs" type="ml" id="ml002">
<知识 name="什么是vbs 1" type="zs" id="zs003">
知识>
<知识 name="什么是vbs 2" type="zs" id="zs004">
知识>
目录>
知识管理>
<留言簿 name="留言簿" type="ly" id="ly000">
<单元 name="你好" type="dy" id="dy001">
<留言 name="Who are you" type="zs" id="zs005">
留言>
<留言 name="你好" type="zs" id="zs006">
留言>
单元>
<单元 name="我的留言" type="dy" id="dy003"/>
留言簿>
<留言簿 name="留言簿" type="ly" id="ly001"/>
bianli.asp文件
复制代码 代码如下:
<% @LANGUAGE=VBScript%>
<%
function getimgstr(ttid,ttname,ttlvl,tttype,ttlf,ttlstr)
dim ttstr1
if ttlvl=0 then
ttstr1=ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & "2" & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1= ttstr1 & "
ttstr1= ttstr1 & "image/Computer.gif" & chr(34) & " height=16>" & ""
ttstr1=ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & "2" & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & ttname & "
" & vbcrlf
ttstr1=ttstr1 & "
<%
function getimgstr(ttid,ttname,ttlvl,tttype,ttlf,ttlstr)
dim ttstr1
if ttlvl=0 then
ttstr1=ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & "2" & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1= ttstr1 & "
ttstr1=ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & "2" & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & ttname & "
" & vbcrlf
ttstr1=ttstr1 & "
" & vbcrlf
else
for i= 2 to len(ttlstr)-1
if mid(ttlstr,i,1)="1" then
ttstr1 = ttstr1 & "
ttstr1 = ttstr1 & "image/I-line.gif" & chr(34) & " height=16>"
end if
if mid(ttlstr,i,1)="0" then
ttstr1 = ttstr1 & "
ttstr1 = ttstr1 & "image/none.gif" & chr(34) & " height=16>"
end if
next
if tttype=1 then
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & "
if ttlf=0 then
ttstr1= ttstr1 & "image/T-plus.gif" & chr(34) & " id=" & chr(34) & "l-" & ttid & chr(34) & "
height=16>"
else
ttstr1= ttstr1 & "image/l-plus.gif" & chr(34) & " id=" & chr(34) & "l-" & ttid & chr(34) & "
height=16>"
end if
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & "
ttstr1= ttstr1 & "image/c-fold.bmp" & chr(34) & " id=" & chr(34) & "p-" & ttid & chr(34) & "
height=16>"
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" &chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & ttname & "
" & vbcrlf
ttstr1=ttstr1 & "
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));
%>
<%=xmlstr%>
else
for i= 2 to len(ttlstr)-1
if mid(ttlstr,i,1)="1" then
ttstr1 = ttstr1 & "
end if
if mid(ttlstr,i,1)="0" then
ttstr1 = ttstr1 & "
end if
next
if tttype=1 then
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & "
ttstr1= ttstr1 & "image/T-plus.gif" & chr(34) & " id=" & chr(34) & "l-" & ttid & chr(34) & "
height=16>"
else
ttstr1= ttstr1 & "image/l-plus.gif" & chr(34) & " id=" & chr(34) & "l-" & ttid & chr(34) & "
height=16>"
end if
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & "
height=16>"
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" &chr(34) & "call OnClickDiv('" & ttid & "','" & ttlf & "')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & ttname & "
" & vbcrlf
ttstr1=ttstr1 & "
" & vbcrlf
else
ttstr1 = ttstr1 & "
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 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','3')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & "
ttstr1= ttstr1 & "image/leaf.bmp " & chr(34) & " id=" & chr(34) & "p-" & ttid & chr(34) & "
height=16>"
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','3')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & ttname & "
" & vbcrlf
ttstr1=ttstr1 & "" & 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 & "
" else
ttstr1 = ttstr1 & "
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 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','3')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & "
height=16>"
ttstr1= ttstr1 & " ttstr1=ttstr1 & " onclick=" & chr(34) & "call OnClickDiv('" & ttid & "','3')"
ttstr1=ttstr1 & chr(34) & ">"
ttstr1=ttstr1 & ttname & "
" & vbcrlf
ttstr1=ttstr1 & "" & 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 & "
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));
%>
点击排行
本栏推荐
