test.xml:
<?xml version="1.0" encoding="ISO-8859-1"?><bookstore><book category="COOKING"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="CHILDREN"><title lang="en">Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price></book><book category="WEB"><title lang="en">XQuery Kick Start</title><author>James McGovern</author><author>Per Bothner</author><author>Kurt Cagle</author><author>James Linn</author><author>Vaidyanathan Nagarajan</author><year>2003</year><price>49.99</price></book><book category="WEB"><title lang="en">Learning XML</title><author>Erik T. Ray</author><year>2003</year><price>39.95</price></book></bookstore>
test.html:
<script type="text/javascript">/* @desc 加载XHR文件 @author lee [<complet@163.com>] @param file 文件路径 @param async 同步或异步 true 异步 flase 同步 @return xmlDoc 加载后的内容 */function loadDoc(file,async=true){ if(window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else{ // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if(async === true){ xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState < 4){ // 加载中 }else if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ // 成功 xmlDoc=xmlhttp.responseXML; return xmlDoc }else{ // 失败 } } } xmlhttp.open("GET",file,async); xmlhttp.send(); if(async === false){ xmlDoc=xmlhttp.responseXML; return xmlDoc }}var xmlDoc = loadDoc('test.xml',false)var path="/bookstore/book/title"// code for IEif (window.ActiveXObject){var nodes=xmlDoc.selectNodes(path); for (i=0;i<nodes.length;i++){ document.write(nodes[i].childNodes[0].nodeValue); document.write("<br />"); }}// code for Mozilla, Firefox, Opera, etc.else if (document.implementation && document.implementation.createDocument){ var nodes=xmlDoc.evaluate(path, xmlDoc, null, XPathResult.ANY_TYPE, null); var result=nodes.iterateNext(); while (result){ document.write(result.childNodes[0].nodeValue); document.write("<br />"); result=nodes.iterateNext(); }}</script>
输出:
Harry PotterEveryday ItalianLearning XMLXQuery Kick Start
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦