温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

html使用xpath解析xml

发布时间:2020-04-05 07:22:37 来源:网络 阅读:998 作者:Lee_吉 栏目:web开发
  1. 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>
  2. 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 IE if (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>
  3. 输出:
    Harry Potter Everyday Italian Learning XML XQuery Kick Start
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI