jQuery加載及解析XML文件的方法實(shí)例分析
本文實(shí)例講述了jQuery加載及解析XML文件的方法。分享給大家供大家參考,具體如下:
1、簡(jiǎn)述
XML(eXtensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,與HTML一樣,都是屬于SGML標(biāo)準(zhǔn)通用語(yǔ)言。
2、 Content-Type
很多情況下XML文件不能正常解析都是由于Content-Type沒(méi)有設(shè)置好。如果Content-Type本身就是一個(gè)XML文件則不需要設(shè)置;如果是由后臺(tái)程序動(dòng)態(tài)生成的,那么就需要設(shè)置Content-Type為“text/xml”,否則jQuery會(huì)以默認(rèn)的“text/html”方式處理,導(dǎo)致解析失敗。以下是幾種常見(jiàn)語(yǔ)言中設(shè)置Content-Type的方式。
header("Content-Type:text/xml"); //PHP
response.ContentType = "text/xml"; //ASP
response.setContentType("text/xm"); //JSP
3、創(chuàng)建實(shí)例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è)定超時(shí)
cache: false, //禁用緩存
error: function(xml) {
alert("加載XML文檔出錯(cuò)!");
},
success: GetStudentComplete //設(shè)置成功后回調(diào)函數(shù)
});
});
通過(guò)JQuery的Ajax函數(shù)進(jìn)行讀取。
5、 解釋XML
//獲取XML成功后回調(diào)函數(shù)
function GetStudentComplete(xml) {
$(xml).find("student").each(function(i) { //查找所有student節(jié)點(diǎn)并遍歷
var id = $(this).children("id"); //獲得子節(jié)點(diǎn)
var id_vaule = id.text(); //獲取節(jié)點(diǎn)文本
var email_vaule = $(this).attr("email"); //獲取節(jié)點(diǎn)的屬性
alert(id_vaule);
alert(email_vaule);
});
}
解析XML文檔與解析DOM一樣,也可以用find()、children()等函數(shù)來(lái)解析和用each()方法來(lái)進(jìn)行遍歷,另外也可以用text()和attr()方法來(lái)獲取節(jié)點(diǎn)文本和屬性。
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擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- jQuery+ajax讀取并解析XML文件的方法
- jQuery處理XML文件的幾種方法
- jQuery實(shí)現(xiàn)定時(shí)讀取分析xml文件的方法
- jQuery解析XML文件同時(shí)動(dòng)態(tài)增加js文件的方法
- jquery讀取xml文件實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)的方法
- jQuery讀取XML文件內(nèi)容的方法
- jquery解析XML字符串和XML文件的方法說(shuō)明
- JQuery讀取XML文件數(shù)據(jù)并顯示的實(shí)現(xiàn)代碼
- jQuery 行級(jí)解析讀取XML文件(附源碼)
- jQuery 解析xml文件
- jQuery讀取XML文件的方法示例
相關(guān)文章
基于jQuery的可以控制左右滾動(dòng)及自動(dòng)滾動(dòng)效果的代碼
迷上jQuery,相對(duì)于原生JavaScript,它是如此的美妙.也因此,促使我更加的努力的研習(xí)原生JavaScript.2010-07-07
jQuery 實(shí)現(xiàn)自動(dòng)填充郵箱功能(帶下拉提示)
本文用 jQuery 實(shí)現(xiàn)一個(gè)用戶輸入字符時(shí)出現(xiàn)能夠提示郵箱后綴名的下拉菜單,并且在選擇下拉菜單中的郵箱后綴名后可自動(dòng)填充未完成的輸入框。2014-10-10
JQuery EasyUI Layout 在from布局自適應(yīng)窗口大小的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇JQuery EasyUI Layout 在from布局自適應(yīng)窗口大小的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
jQuery實(shí)現(xiàn)模仿微博下拉滾動(dòng)條加載數(shù)據(jù)效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)模仿微博下拉滾動(dòng)條加載數(shù)據(jù)效果,涉及jQuery響應(yīng)下拉滾動(dòng)事件動(dòng)態(tài)操作頁(yè)面元素的技巧,需要的朋友可以參考下2015-12-12
jquery實(shí)現(xiàn)無(wú)刷新驗(yàn)證碼的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇jquery實(shí)現(xiàn)無(wú)刷新驗(yàn)證碼的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
jquery 彈出層注冊(cè)頁(yè)面等(asp.net后臺(tái))
jquery 彈出層注冊(cè)頁(yè)面,盡力提高用戶體驗(yàn),吸引用戶注冊(cè)。2010-06-06
jQuery EasyUI API 中文文檔 - Parser 解析器
jQuery EasyUI API 中文文檔 - Parser 解析器,使用jQuery EasyUI的朋友可以參考下。2011-09-09
jQuery控制input只能輸入數(shù)字和兩位小數(shù)的方法
這篇文章主要介紹了jQuery控制input只能輸入數(shù)字和兩位小數(shù)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05

