這篇文章將為大家詳細講解有關jQuery如何加載及解析XML文件,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
具體如下:
1、簡述
XML(eXtensible Markup Language)即可擴展標記語言,與HTML一樣,都是屬于SGML標準通用語言。
2、 Content-Type
很多情況下XML文件不能正常解析都是由于Content-Type沒有設置好。如果Content-Type本身就是一個XML文件則不需要設置;如果是由后臺程序動態生成的,那么就需要設置Content-Type為“text/xml”,否則jQuery會以默認的“text/html”方式處理,導致解析失敗。以下是幾種常見語言中設置Content-Type的方式。
header("Content-Type:text/xml"); //PHP
response.ContentType = "text/xml"; //ASP
response.setContentType("text/xm"); //JSP
3、創建實例XML文檔(Student.xml)
<?xml version="1.0" encoding="utf-8" ?> <stulist> <student email="peter@163.com"> <name>peter</name> <id>1</id> </student> <student email="ken@163.com"> <name>ken</name> <id>2</id> </student> </stulist>
4、獲取XML
$(document).ready(function() { $.ajax({ url: '/xml/Student.xml', type: 'GET', dataType: 'xml', timeout: 1000, //設定超時 cache: false, //禁用緩存 error: function(xml) { alert("加載XML文檔出錯!"); }, success: GetStudentComplete //設置成功后回調函數 }); });
通過JQuery的Ajax函數進行讀取。
5、 解釋XML
//獲取XML成功后回調函數 function GetStudentComplete(xml) { $(xml).find("student").each(function(i) { //查找所有student節點并遍歷 var id = $(this).children("id"); //獲得子節點 var id_vaule = id.text(); //獲取節點文本 var email_vaule = $(this).attr("email"); //獲取節點的屬性 alert(id_vaule); alert(email_vaule); }); }
解析XML文檔與解析DOM一樣,也可以用find()、children()等函數來解析和用each()方法來進行遍歷,另外也可以用text()和attr()方法來獲取節點文本和屬性。
關于“jQuery如何加載及解析XML文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。