1. 程式人生 > >【jQuery】jQ處理xml文件和xml字符串

【jQuery】jQ處理xml文件和xml字符串

文本 技術 字符串 處理 兼容 child nodevalue url att

1.xml文件

技術分享
<?xml version="1.0" encoding="utf-8" ?> 
<root> 
    <book id="1"> 
        <name>鋒利的jQuery1</name> 
        <author>XXX1</author> 
        <price>250</price> 
    </book> 
    <book id="2"> 
        <name>鋒利的jQuery2</name> 
        <author>XXX2</author> 
        <price>99</price> 
    </book> 
    <book id="3"> 
        <name>鋒利的jQuery3</name> 
        <author>XXX3</author> 
        <price>108</price> 
    </book> 
    <book id="4"> 
        <name>鋒利的jQuery4</name>
        <author>XXX4</author> 
        <price>128</price> 
    </book> 
</root>  
技術分享

2.jQuery代碼

技術分享
 window.onload = function () {
            //get解析xml文件
            $.get("1.xml", function (data) {
                $data = $(data);
                //獲得節點
                var $books = $data.find("book");
                var $names = $data.find("name");
                var $authors = $data.find("author");
                //var $authors = $data.find("author") = $books.children("author") = $names.siblings("author");//獲得books的子節點
                //獲得屬性、節點text
                //var id = $($books[0]).attr("id") = $books[0].getAttribute("id");//獲得第一個book的id屬性
                $authors.each(function () {
                    var author_text = $(this).text(); //獲得節點內部文本,嘗試過用nodeValue無果(不兼容)
                })
            })
            //ajax解析xml文件
            $.ajax({
                url: "1.xml",
                dataType: "xml",
                success: function (data) {
                    var $data = $(data);
                    var $books = $data.find("book");
                    //以下操作同上
                }
            })
        }
技術分享

3.jQuery處理xml字符串

技術分享
//jQuery解析xml字符串
            var xmlStr = "<root><book id=‘1‘><name>鋒利的jQuery1</name><author>XXX1</author><price>250</price></book><book id=‘2‘><name>鋒利的jQuery2</name><author>XXX2</author><price>99</price></book><book id=‘3‘><name>鋒利的jQuery3</name><author>XXX3</author><price>108</price></book><book id=‘4‘><name>鋒利的jQuery4</name><author>XXX4</author><price>128</price></book></root>";
            var $xmlDoc = $($.parseXML(xmlStr));
            var $books = $xmlDoc.find("book");
            var $names = $xmlDoc.find("name");
            alert($($names[0]).text());
            //其他操作與2相同
技術分享

【jQuery】jQ處理xml文件和xml字符串