用JavaScript解析XML數據是常見的編程任務,JavaScript能做的,JQuery當然也能做。下面我們來總結幾個使用JQuery解析XML的例子
第一種方案: 代碼如下: <script type="text/javascript"> $(document).ready(function() { $.ajax({ url: 'http://www.test.net/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://www.test.net/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).find("item").length; }); 2. 讀取xml內容 如果讀取的xml是來於xml文件,這結合上面的那點,處理如下: 代碼如下: $.get("xmlfile.xml",function(xml){ $(xml).find("item").length; }); 如果讀取的是xml字符串,則要注意一點,xml字符串的必然被"<xml>"和"</xml>"包圍才可以被解析 代碼如下: $("<xml><root><item></item></root></xml>").find("item").length; 解析xml內容: 示例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");//讀取節點屬性 var dataType = field.find("datatype").text();//讀取子節點的值 });