导航首页 » 技术教程 » jQ处理xml文件和xml字符串的方法(详解)
jQ处理xml文件和xml字符串的方法(详解) 118 2024-02-12   

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

以上就是小编为大家带来的jQ处理xml文件和xml字符串的方法(详解)全部内容了,希望大家多多支持绿夏网~


!!!站长长期在线接!!!

网站、小程序:定制开发/二次开发/仿制开发等

各种疑难杂症解决/定制接口/定制采集等

站长微信:lxwl520520

站长QQ:1737366103