分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

HTML使用XPATH解析XML

发布时间:2023-09-06 01:45责任编辑:白小东关键词:HTML
  • 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
  • HTML使用XPATH解析XML

    原文地址:http://blog.51cto.com/12173069/2086274

    知识推荐

    我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
    icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved