遍历XML文档返回二维数组(ASP)(更新版)

原创 2005年05月12日 00:23:00

<% on error resume next
   '<![CDATA[]]>问题没处理
   'xmlfile = Server.MapPath("???.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的返回值并返回一个二维数组

相关文章推荐

二维数组生成XML

#include #include #include using namespace std; typedef struct Project{ string strProject...

二维数组遍历

  • 2014年12月12日 10:11
  • 16KB
  • 下载

稻草人的程序之路--XML文档数据的遍历

XML 指可扩展标记语言(EXtensible Markup Language) 。可能你会觉得难理解,但是没什么特别,就是纯文本,也许这有点难以理解,但是 XML 不会做任何事情。XML 被设计用来...

struts2 iterator标签遍历二维数组

  • 2011年04月14日 14:11
  • 567B
  • 下载

C++将文档文件变为二维数组

  • 2014年08月21日 09:25
  • 30KB
  • 下载

PHP中使用foreach()遍历二维数组

echo ""; echo "php遍历二维数组"; //$team = array('lk','ok'); //$book = array('linux服务器配置与管理',$...
  • A9925
  • A9925
  • 2015年08月17日 19:08
  • 2947

java 基础数据遍历(2)----二维数组查找

题目要求: 一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入描述:arr...

三种方法进行二维数组遍历输出---下标法、行指针、列指针

/* 二维数组遍历输出(3种方法) (1)下标方法 (2)列指针方法 (3)行指针方法 */ #include using namespace std; void output_...

二维数组回形遍历(北大信科2015上机考试)

C:二维数组回形遍历 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按回形从外向内顺时针顺序遍...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:遍历XML文档返回二维数组(ASP)(更新版)
举报原因:
原因补充:

(最多只允许输入30个字)