龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Javascript+DOM访问XML文件数据实例

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
1.生成XML文件。 在ADO里,用Recordset.Save方法可以保存查询内容至指定XML文件,这样生成的文件里面有很多内容是关于数据表的属性的,即s:Schema>/s:Schema>节点内容。我们需要的是rs:data>/

  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>
  
精彩图集

赞助商链接