xml解析

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>解析xml </title>
<script>
   function createXmlDomObject(){  //获取解析xml文档的对象
  var xmlDoms;
  if( window.ActiveXObject){  //IE 9 以上都是W3c标准 
xmlDoms  =new ACtiveXObject( "Microsoft.XMLDOM");

}else if(document.implementation && document.implementation.createDocument  ){  //w3c
            xmlDoms=document.implementation.createDocument("","",null);
   }else {
    throw new Error("对不起,您的浏览器不支持XML DOM ");
}

return xmlDoms;
   }
   
   function  xmlDom(){
   //IE  :分同步和异步
 var doc=createXmlDomObject();
 var xmlhttp = new XMLHttpRequest();
 xmlhttp.open("GET","books.xml",false);
 xmlhttp.send(null);
 if(xmlhttp.readyState==4){
 doc  =xmlhttp.responseXML.documentElement;
 }
   //同步
/* doc.async = false;
doc.load("books.xml");
//alert(doc.getElement.tagName);
alert(xmlDoms.xml);
*/ 
//异步
      //当xml文件加载完成后, 怎么处理,在这个回调函数中指明
   //获取方式以远程请求的方式去获取;
    var tbody =document.getElementById("bookInfo");
var books =doc.getElementsByTagName("Book");

//创建行
var tr;
var td;

var bookInfo;
var len1=books.length;

for(var i =0 ; i<len1;i++  ){
tr = document.createElement("tr");
td = document.createElement("td");
td.appendChild(document.createTextNode( books[i].getAttribute("id") ) );
tr.appendChild(td);//将图书编号列放到当前行中

//获取当前book下的子节点
bookInfo  = books[i].childNodes;
var len2=bookInfo.length;
for(var j = 0;j<len2;j++  ){
if(bookInfo[j].nodeType==1 ){
td.appendChild(document.createTextNode( bookInfo[j].firstChild.nodeValue  ));
td.appendChild(td);
   }
   }
tbody.appendChild(tr);  //将当前行放入到表格中

   }   
   }
  
   window.onload = function(){
   xmlDom();
  }
  
 
</script>
</head>
<body>

  <table align="center" width="80%" border="1px">
     <thead>
        <tr>
           <th>图书编号</th>
           <th>图书名称</th>
           <th>图书作者</th>
           <th>出版编号</th>
           <th>图书价格</th>
        </tr>
     </thead>
     <tbody id="booksInfo" align="center">
         
     
     </tbody>
  </table>
</body>

</html>



<?xml version="1.0" encoding="UTF-8"?>
<Books>
<Book id="1">
<bookName>编程珠玑</bookName>
<bookAuthor>Jon Bentley</bookAuthor>
<bookISBN>7-5083-1914-1</bookISBN>
<bookPrice>28.0</bookPrice>
</Book>
<Book id="2">
<bookName>Java编程思想(第2版</bookName>
<bookAuthor>Bruce Eckel</bookAuthor>
<bookISBN>7-111-10441-2</bookISBN>
<bookPrice>99.0</bookPrice>
</Book>
<Book id="3">
<bookName>Inside VCL(深入核心VCL架构剖析)</bookName>
<bookAuthor>李维</bookAuthor>
<bookISBN>7-5053-9489-4</bookISBN>
<bookPrice>80.0</bookPrice>
</Book>
</Books>

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值