1.生成XML文件。
在ADO里,用Recordset.Save方法可以保存查询内容至指定XML文件,这样生成的文件里面有很多内容是关于数据表的属性的,即
1<s:schema></s:schema>
节点内容。我们需要的是
1<rs:data></rs:data>
节点的内容。结构大体如下:Data.xml
1<xml ...="">
2<s:schema>
3...
4</s:schema>
5<rs:data>
6<z:row companyid="1" pmid="1001" positionid="1001" positionname="fdsafsd"></z:row>
7<z:row companyid="2" pmid="1002" positionid="1002" positionname=".NET Developer"></z:row>
8</rs:data>
9这里的<z:row></z:row>即为一个数据行,下一步就是显示这部分内容。
102.LoadXML文件。
11<script language="javascript">
12var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
13var currNode;
14xmlDoc.async = false;
15xmlDoc.load("Data.xml");
16if (xmlDoc.parseError.errorCode != 0) {//如果打开文件出错
17var myErr = xmlDoc.parseError;
18document.write("You have error " + myErr.reason);
19}
20else
21{
22document.write("<hr size=1>");
23xmlDoc.setProperty("SelectionLanguage", "XPath");
24currNode = xmlDoc.documentElement.childNodes[1];//取得<rs:data>部分
25alert(currNode.childNodes[0].attributes[0].value);//测试结果
26
27for(i=0;i<currNode.childNodes.length;i++) //遍历每个'数据行'
28{
29for(j=0;j<currNode.childNodes[i].attributes.length;j++)//遍历行的每个属性
30{
31document.write(currNode.childNodes[i].attributes[j].name + " : " + currNode.childNodes[i].attributes[j].value + "<BR>");
32}
33document.write("<hr size=1>");
34}
35}
36</script></xml>