温馨提示×

温馨提示×

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

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

html使用xpath解析xml

发布时间:2020-04-05 07:22:37 来源:网络 阅读:971 作者: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