JQuery解析XML的方法小結(jié)

字號:


    本文實例總結(jié)了JQuery解析XML的方法。分享給大家供大家參考,具體如下:
    用JavaScript解析XML數(shù)據(jù)是常見的編程任務(wù),JavaScript能做的,JQuery當(dāng)然也能做。下面我們來總結(jié)幾個使用JQuery解析XML的例子。
    第一種方案:
    <script type="text/javascript">
    $(document).ready(function() {
      $.ajax({
         url: 'http://localhost/cgi/test.xml',
         dataType: 'xml',
         success: function(data){
           //console.log(data);
           $(data).find("channel").find("item").each(function(index, ele) {
            var titles = $(ele).find("title").text();
            var links = $(ele).find("link").text();
            console.log(titles+'-----');
            $("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
          });
        }
      });
    })
    </script>
    <div id="noticecon">
      <ol>
      </ol>
    </div>
    第二種方案:
    <script type="text/javascript">
      $.get("http://localhost/cgi/test.xml", function(data){
        $(data).find('channel').find('item').each(function(index, ele){
          var titles = $(ele).find('title').text();
          var links = $(ele).find('link').text();
          $("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
        })
      });
    </script>
    <div id="noticecon">
      <ol>
      </ol>
    </div>
    一般步驟如下:
    1. 讀取xml文件
    $.get("xmlfile.xml",function(xml){
      //xml即為可以讀取使用的內(nèi)容,具體讀取見第2點
    });
    2. 讀取xml內(nèi)容
    如果讀取的xml是來于xml文件,這結(jié)合上面的那點,處理如下:
    $.get("xmlfile.xml",function(xml){ 
      $(xml).find("item").length; 
    });
    如果讀取的是xml字符串,則要注意一點,xml字符串的必然被"<xml>"和"</xml>"包圍才可以被解析
    $("<xml><root><item></item></root></xml>").find("item").length;
    解析xml內(nèi)容:
    示例xml:
    <?xml version="1.0" encoding="utf-8" ?>
    <fields>
     <field Name="Name1">
     <fieldname>dsname</fieldname>
     <datatype>字符</datatype>
     </field>
     <field Name="Name2">
     <fieldname>dstype</fieldname>
     <datatype>字符</datatype>
     </field>
    </fields>
    以下是解析示例代碼:
    $(xml).find("field").each(function() {
      var field = $(this);
      var fName = field.attr("Name");//讀取節(jié)點屬性
      var dataType = field.find("datatype").text();//讀取子節(jié)點的值
    });
    希望本文所述對大家jQuery程序設(shè)計有所幫助。