遍历XML文档返回二维数组(ASP)(更新版)
遍历XML文档返回二维数组(ASP)(更新版),遍历XML文档返回二维数组(ASP)(更新版)
<% on error resume next '问题没处理 '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 IfEnd Function
Public Function ShowXml(s)on error resume next ta = split(s,"[sp1]") k = ubound(ta)-1 'response.write "sta(" &k &",2)
" 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 & "
" sta(cs1,cs2) = cs3 Next ShowXml = staEnd Function
test = ShowXml(PrettyPrint(xml.documentElement,0))
response.write "" + chr(13) response.write "" response.write "nodeNamenodeValueAttributes" response.write "" + chr(13) for b = 0 to ubound(test) If test(b,0)<>"" then response.write "0 then response.write "bgcolor=#BABBBC" end if response.write ">" response.write "" & test(b,0) & " " response.write "" & test(b,1) & " " response.write "" & test(b,2) & " " response.write "" + chr(13) End if next response.write ""
%>
PrettyPrint函数返回字符串
ShowXml函数处理PrettyPrint的返回值并返回一个二维数组