欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

jQ处理xml文件和xml字符串的方法(详解)

程序员文章站 2022-03-10 14:10:07
...
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