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