首页 > 编程 > JavaScript > 正文

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

2019-11-18 12:47:03
字体:
来源:转载
供稿:网友

  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>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表