<% 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) & ' </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>'
%>
PrettyPrint函数返回字符串
ShowXml函数处理PrettyPrint的返回值并返回一个二维数组