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相同