&#106avascript+DOM访问XML文件数据实例

王朝html/css/js·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

1.生成XML文件。

在ADO里,用Recordset.Save方法可以保存查询内容至指定XML文件,这样生成的文件里面有很多内容是关于数据表的属性的,即<s:Schema></s:Schema>节点内容。我们需要的是<rs:data></rs:data>节点的内容。结构大体如下:Data.xml

<xml ...>

<s:Schema>

...

</s:Schema>

<rs:data>

<z:row PositionID='1001' PositionName='fdsafsd' CompanyID='1' PMID='1001' />

<z:row PositionID='1002' PositionName='.NET Developer' CompanyID='2' PMID='1002' />

</rs:data>

这里的<z:row />即为一个数据行,下一步就是显示这部分内容。

2.LoadXML文件。

<SCRIPT language=javascript>

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

var currNode;

xmlDoc.async = false;

xmlDoc.load("Data.xml");

if (xmlDoc.parseError.errorCode != 0) {//如果打开文件出错

var myErr = xmlDoc.parseError;

document.write("You have error " + myErr.reason);

}

else

{

document.write("<hr size=1>");

xmlDoc.setProperty("SelectionLanguage", "XPath");

currNode = xmlDoc.documentElement.childNodes[1];//取得<rs:data>部分

alert(currNode.childNodes[0].attributes[0].value);//测试结果

for(i=0;i<currNode.childNodes.length;i++) //遍历每个'数据行'

{

for(j=0;j<currNode.childNodes[i].attributes.length;j++)//遍历行的每个属性

{

document.write(currNode.childNodes[i].attributes[j].name + " : " + currNode.childNodes[i].attributes[j].value + "<BR>");

}

document.write("<hr size=1>");

}

}

</script>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航