Javascript+DOM访问XML文件中的数据

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>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus