.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
遍历XML文档返回二维数组(ASP)(更新版)

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

<% on error resume next
   '<![CDATA[]]>问题没处理
   'xmlfile = "???.xml"
   Set xml = Server.CreateObject("MSXML.DOMDocument")
   xml.async = false
   xml.load(xmlfile)


Public Function PrettyPrint(node,tabLevel)
on error resume next
 If node.nodeName <> vbNullStrin And node.nodeName <> "#text" Then
  PrettyPrint = PrettyPrint & tabLevel & "[sp2]0[sp2]" + node.nodeName + "[sp1]"

   For Each i In node.Attributes
    pstr = pstr + i.Name + "=" + i.Value + " "
   Next
  PrettyPrint = PrettyPrint & tabLevel & "[sp2]2[sp2]" + pstr + "[sp1]"
 End If
 If node.hasChildNodes Then
  For Each childNode In node.childNodes
   tabLevel=tabLevel+1
   PrettyPrint = PrettyPrint + PrettyPrint(childNode, tabLevel)
  Next
 Else
  PrettyPrint = PrettyPrint & tabLevel-1 & "[sp2]1[sp2]" + node.Text + "[sp1]"
 End If
End Function

Public Function ShowXml(s)
on error resume next
 ta = split(s,"[sp1]")
 k = ubound(ta)-1
 'response.write "sta(" &k &",2)<p>"
 redim sta(k,2)
 for i = 0 to k
  ta2 = split(ta(i),"[sp2]")
  cs1 = ta2(0)
  cs2 = ta2(1)
  cs3 = ta2(2)
  'Response.write "sta(" & cs1 & "," & cs2 & ") = " & cs3 & "<br>"
  sta(cs1,cs2) = cs3
 Next
 ShowXml = sta
End Function

test = ShowXml(PrettyPrint(xml.documentElement,0))

   response.write "<table width=100% border=1 bgcolor=#dddddd>" + chr(13)
   response.write "<tr bgcolor=#767A7D>"
   response.write "<td>nodeName</td><td>nodeValue</td><td>Attributes</td>"
   response.write "</tr>" + chr(13)
   for b = 0 to ubound(test)
 If test(b,0)<>"" then
 response.write "<tr "
 If b=0 then response.write "bgcolor=#939495" end if
 If IsEmpty(test(b,1)) and b<>0 then response.write "bgcolor=#BABBBC" end if
 response.write ">"
 response.write "<td>" & test(b,0) & "&nbsp;</td>"
 response.write "<td>" & test(b,1) & "&nbsp;</td>"
 response.write "<td>" & test(b,2) & "&nbsp;</td>"
 response.write "</tr>" + chr(13)
 End if
   next
   response.write "</table>"

%>

PrettyPrint函数返回字符串

ShowXml函数处理PrettyPrint的返回值并返回一个二维数组




相关文章

相关软件