>  기사  >  php教程  >  jQ의 xml 파일 및 xml 문자열 처리 방법(자세한 설명)

jQ의 xml 파일 및 xml 문자열 처리 방법(자세한 설명)

高洛峰
高洛峰원래의
2016-12-06 09:40:121608검색

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.