1.生成XML文件。
在ADO里,用Recordset.Save方法可以保存查詢內(nèi)容至指定XML文件,這樣生成的文件里面有很多內(nèi)容是關(guān)于數(shù)據(jù)表的屬性的,即<s:Schema></s:Schema>節(jié)點(diǎn)內(nèi)容。我們需要的是<rs:data></rs:data>節(jié)點(diǎn)的內(nèi)容。結(jié)構(gòu)大體如下: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 />即為一個(gè)數(shù)據(jù)行,下一步就是顯示這部分內(nèi)容。
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) {//如果打開文件出錯(cuò)
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);//測(cè)試結(jié)果
for(i=0;i<currNode.childNodes.length;i++) //遍歷每個(gè)‘?dāng)?shù)據(jù)行‘
{
for(j=0;j<currNode.childNodes[i].attributes.length;j++)//遍歷行的每個(gè)屬性
{
document.write(currNode.childNodes[i].attributes[j].name + " : " + currNode.childNodes[i].attributes[j].value + "<BR>");
}
document.write("<hr size=1>");
}
}
</script>
聯(lián)系客服