ASP遍历XML的例子
ASP #xml #函数2012-05-09 09:59
yige.org.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 一个网在线教程yige.org" 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>yige.org.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 & "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>相关文章
- ASP的ubb函数 2012/05/08
- ASP正则提取href标签的值函数 2012/05/08
- ASP电话号码正则表达式函数 2012/05/08
- ASP四个电子邮箱验证函数 2012/05/08
- ASP正则表达式过滤html函数 2012/05/08
- ASP常用函数 2012/05/02
- ASP格式化时间日期函数 2012/04/30
- asp封装加密成dll文件 2012/04/27
- ASP连接Oracle数据库方法 2012/04/27
- ASP内容分页函数 2012/04/27