jQuery加載及解析XML文件的方法實例分析
本文實例講述了jQuery加載及解析XML文件的方法。分享給大家供大家參考,具體如下:
1、簡述
XML(eXtensible Markup Language)即可擴展標(biāo)記語言,與HTML一樣,都是屬于SGML標(biāo)準(zhǔn)通用語言。
2、 Content-Type
很多情況下XML文件不能正常解析都是由于Content-Type沒有設(shè)置好。如果Content-Type本身就是一個XML文件則不需要設(shè)置;如果是由后臺程序動態(tài)生成的,那么就需要設(shè)置Content-Type為“text/xml”,否則jQuery會以默認(rèn)的“text/html”方式處理,導(dǎo)致解析失敗。以下是幾種常見語言中設(shè)置Content-Type的方式。
header("Content-Type:text/xml"); //PHP
response.ContentType = "text/xml"; //ASP
response.setContentType("text/xm"); //JSP
3、創(chuàng)建實例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, //設(shè)定超時 cache: false, //禁用緩存 error: function(xml) { alert("加載XML文檔出錯!"); }, success: GetStudentComplete //設(shè)置成功后回調(diào)函數(shù) }); });
通過JQuery的Ajax函數(shù)進行讀取。
5、 解釋XML
//獲取XML成功后回調(diào)函數(shù) function GetStudentComplete(xml) { $(xml).find("student").each(function(i) { //查找所有student節(jié)點并遍歷 var id = $(this).children("id"); //獲得子節(jié)點 var id_vaule = id.text(); //獲取節(jié)點文本 var email_vaule = $(this).attr("email"); //獲取節(jié)點的屬性 alert(id_vaule); alert(email_vaule); }); }
解析XML文檔與解析DOM一樣,也可以用find()、children()等函數(shù)來解析和用each()方法來進行遍歷,另外也可以用text()和attr()方法來獲取節(jié)點文本和屬性。
PS:這里再為大家提供幾款關(guān)于xml操作相關(guān)在線工具供大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
xml代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery操作xml技巧總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
相關(guān)文章
輕松學(xué)習(xí)jQuery插件EasyUI EasyUI實現(xiàn)樹形網(wǎng)絡(luò)基本操作(2)
這篇文章主要幫助大家輕松學(xué)習(xí)jQuery插件EasyUI,針對EasyUI實現(xiàn)樹形網(wǎng)絡(luò)基本操作,分為三大方面:動態(tài)加載、添加分頁、以及惰性加載節(jié)點,感興趣的小伙伴們可以參考一下2015-11-11jquery中ajax請求后臺數(shù)據(jù)成功后既不執(zhí)行success也不執(zhí)行error的完美解決方法
這篇文章主要介紹了jquery中ajax請求后臺數(shù)據(jù)成功后既不執(zhí)行success也不執(zhí)行error解決方法,需要的朋友可以參考下2017-12-12基于twbsPagination.js分頁插件使用心得(分享)
下面小編就為大家?guī)硪黄趖wbsPagination.js分頁插件使用心得(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10簡潔實用的BootStrap jQuery手風(fēng)琴插件
這篇文章主要介紹了簡潔實用的BootStrap jQuery手風(fēng)琴插件知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08