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

1.xml文件

<?xml version="1.0" encoding="utf-8" ?> 
<root> 
    <book > 
        <name>锋利的jQuery1</name> 
        <author>XXX1</author> 
        <price>250</price> 
    </book> 
    <book > 
        <name>锋利的jQuery2</name> 
        <author>XXX2</author> 
        <price>99</price> 
    </book> 
    <book > 
        <name>锋利的jQuery3</name> 
        <author>XXX3</author> 
        <price>108</price> 
    </book> 
    <book > 
        <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 ><name>锋利的jQuery1</name><author>XXX1</author><price>250</price></book><book ><name>锋利的jQuery2</name><author>XXX2</author><price>99</price></book><book ><name>锋利的jQuery3</name><author>XXX3</author><price>108</price></book><book ><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相同