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(" & cs1 & "," & cs2 & ") = " & cs3 & "<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)<>"" 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 ">"
response.write "<td>" & test(b,0) & " </td>"
response.write "<td>" & test(b,1) & " </td>"
response.write "<td>" & test(b,2) & " </td>"
response.write "</tr>" + chr(13)
End if
next
response.write "</table>"
1
2PrettyPrint函数返回字符串
3
4ShowXml函数处理PrettyPrint的返回值并返回一个二维数组</p>