Maison  >  Article  >  php教程  >  jQ处理xml文件和xml字符串的方法(详解)

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

高洛峰
高洛峰original
2016-12-06 09:40:121567parcourir

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=&#39;1&#39;><name>锋利的jQuery1</name><author>XXX1</author><price>250</price></book><book id=&#39;2&#39;><name>锋利的jQuery2</name><author>XXX2</author><price>99</price></book><book id=&#39;3&#39;><name>锋利的jQuery3</name><author>XXX3</author><price>108</price></book><book id=&#39;4&#39;><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相同

   


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn