<% 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的返回值并返回一个二维数组 
|