[转载]Javascript+DOM访问XML文件中的数据实例
原始连接:[url]http://tech.ccidnet.com/art/1077/20051115/372493_1.html[/url]1、生成XML文件。
在ADO里,用Recordset.Save方法可以保存查询内容至指定XML文件,这样生成的文件里面有很多内容是关于数据表的属性的,即节点内容。我们需要的是节点的内容。结构大体如下:
[code]
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>
[/code]
这里的即为一个数据行,下一步就是显示这部分内容。
2.LoadXML文件。
[code]
<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>
[/code]
页:
[1]