JQuery解析XML數據的幾個例子

用JavaScript解析XML數據是常見的編程任務,JavaScript能做的,JQuery當然也能做。下面我們來總結幾個使用JQuery解析XML的例子。

第一種方案:

01 <script type="text/javascript">
02 $(document).ready(function() {
03     $.ajax({
04         url: 'http://www.nowamagic.net/cgi/test.xml',
05         dataType: 'xml',
06         success: function(data){
07             //console.log(data);
08             $(data).find("channel").find("item").each(function(index, ele) {
09                 var titles = $(ele).find("title").text();
10                 var links = $(ele).find("link").text();
11                 console.log(titles+'-----');
12                 $("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
13             });
14         }
15     });
16 })
17 </script>
18  
19     <div id="noticecon">
20         <ol>
21         </ol>
22     </div>

第二種方案:

01 <script type="text/javascript">
02     $.get("http://www.nowamagic.net/cgi/test.xml", function(data){
03         $(data).find('channel').find('item').each(function(index, ele){
04             var titles = $(ele).find('title').text();
05             var links = $(ele).find('link').text();
06             $("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
07         })
08     });
09 </script>
10  
11     <div id="noticecon">
12         <ol>
13         </ol>
14     </div>

一般步驟如下:

1. 讀取xml文件

1 $.get("xmlfile.xml",function(xml){
2     //xml即爲可以讀取使用的內容,具體讀取見第2點
3 });

2. 讀取xml內容

如果讀取的xml是來於xml文件,這結合上面的那點,處理如下:

1 $.get("xmlfile.xml",function(xml){   
2     $(xml).find("item").length;   
3 });

如果讀取的是xml字符串,則要注意一點,xml字符串的必然被"<xml>"和"</xml>"包圍纔可以被解析

1 $("<xml><root><item></item></root></xml>").find("item").length;

解析xml內容:

示例xml:

01 <?xml version="1.0" encoding="utf-8" ?>
02 <fields>
03   <field Name="Name1">
04     <fieldname>dsname</fieldname>
05     <datatype>字符</datatype>
06   </field>
07   <field Name="Name2">
08     <fieldname>dstype</fieldname>
09     <datatype>字符</datatype>
10   </field>
11 </fields>

以下是解析示例代碼:

1 $(xml).find("field").each(function() {
2     var field = $(this);
3     var fName = field.attr("Name");//讀取節點屬性
4     var dataType = field.find("datatype").text();//讀取子節點的值
5 });
發佈了6 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章