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

 1 on error resume next   
 2'
 3<![CDATA[ ]]>
 4问题没处理   
 5'xmlfile = "???.xml"   
 6Set xml = Server.CreateObject("MSXML.DOMDocument")   
 7xml.async = false   
 8xml.load(xmlfile) 
 9
10  
11Public Function PrettyPrint(node,tabLevel)   
12on error resume next   
13If node.nodeName <> vbNullStrin And node.nodeName <> "#text" Then   
14PrettyPrint = PrettyPrint & tabLevel & "[sp2]0[sp2]" + node.nodeName + "[sp1]" 
15
16For Each i In node.Attributes   
17pstr = pstr + i.Name + "=" + i.Value + " "   
18Next   
19PrettyPrint = PrettyPrint & tabLevel & "[sp2]2[sp2]" + pstr + "[sp1]"   
20End If   
21If node.hasChildNodes Then   
22For Each childNode In node.childNodes   
23tabLevel=tabLevel+1   
24PrettyPrint = PrettyPrint + PrettyPrint(childNode, tabLevel)   
25Next   
26Else   
27PrettyPrint = PrettyPrint & tabLevel-1 & "[sp2]1[sp2]" + node.Text + "[sp1]"   
28End If   
29End Function 
30
31Public Function ShowXml(s)   
32on error resume next   
33ta = split(s,"[sp1]")   
34k = ubound(ta)-1   
35'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(" &amp; cs1 &amp; "," &amp; cs2 &amp; ") = " &amp; cs3 &amp; "<br/>"
sta(cs1,cs2) = cs3
Next
ShowXml = sta
End Function

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

response.write "<table bgcolor="#dddddd" border="1" width="100%">" + 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)&lt;&gt;"" then
response.write "<tr "="" "bgcolor='#939495"' and="" b="0" b<="" end="" if="" isempty(test(b,1))="" response.write="" then="">0 then response.write "bgcolor=#BABBBC" end if
response.write "&gt;"
response.write "<td>" &amp; test(b,0) &amp; " </td>"
response.write "<td>" &amp; test(b,1) &amp; " </td>"
response.write "<td>" &amp; test(b,2) &amp; " </td>"
response.write "</tr>" + chr(13)
End if
next
response.write "</table>"

1
2PrettyPrint函数返回字符串 
3
4ShowXml函数处理PrettyPrint的返回值并返回一个二维数组</p>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus