title: 《鋒利的jQuery》十三、jQuery加載并解析XML
date: 2017-08-23 22:36:20
tags: 鋒利的jQuery
語法
XML(eXtensible Markup Language),于HTML一樣,都屬于SGML標準通用語言。
XML的語法如下:
任何起始標簽都必須有一個結束標簽
標簽必須按照合理的順序嵌套,和HTML相同的道理。
所有屬性都需要有值,并且需要在值上加上雙引號。
XML文件只能有一個頂層元素,好比HTML的
<html>
元素。
很多時候XML不能正常解析是因為Content-Type沒有設置好。要設置為text/xml,否則會按照默認的text/html方式處理,導致解析失敗
解析XML
解析XML文檔與解析DOM一樣,也可以用find()
、children()
等函數來解析和用each()
方法來進行遍歷,另外也可以用text()
和attr()
方法來獲取節點文本和屬性(類似HTML的行內屬性)。
success: function(xml){
var frag = $('<ul></ul>')
$(xml).find('student').each(function(){ // 查找所有<student>節點并且遍歷
var id = $(this).children('id'); // 取得所有<id></id>子節點
var id_value = id.text(); // 取得子節點文本
var email = $(this).attr('email'); // 獲取<student>元素上的email屬性
frag.append('<li>' + id_value + '-' + email + '</li>'); // 構造html字符串
})
frag.appendTo('#load'); // 最后添加到html文檔中
}