《鋒利的jQuery》十三、jQuery加載并解析XML


title: 《鋒利的jQuery》十三、jQuery加載并解析XML
date: 2017-08-23 22:36:20
tags: 鋒利的jQuery


語(yǔ)法

XML(eXtensible Markup Language),于HTML一樣,都屬于SGML標(biāo)準(zhǔn)通用語(yǔ)言。

XML的語(yǔ)法如下:

  1. 任何起始標(biāo)簽都必須有一個(gè)結(jié)束標(biāo)簽

  2. 標(biāo)簽必須按照合理的順序嵌套,和HTML相同的道理。

  3. 所有屬性都需要有值,并且需要在值上加上雙引號(hào)。

  4. XML文件只能有一個(gè)頂層元素,好比HTML的<html>元素。

很多時(shí)候XML不能正常解析是因?yàn)镃ontent-Type沒(méi)有設(shè)置好。要設(shè)置為text/xml,否則會(huì)按照默認(rèn)的text/html方式處理,導(dǎo)致解析失敗

解析XML

解析XML文檔與解析DOM一樣,也可以用find()children()等函數(shù)來(lái)解析和用each()方法來(lái)進(jìn)行遍歷,另外也可以用text()attr()方法來(lái)獲取節(jié)點(diǎn)文本和屬性(類(lèi)似HTML的行內(nèi)屬性)。

success: function(xml){
    var frag = $('<ul></ul>')
    $(xml).find('student').each(function(){     // 查找所有<student>節(jié)點(diǎn)并且遍歷
        var id = $(this).children('id');    // 取得所有<id></id>子節(jié)點(diǎn)
        var id_value = id.text();       // 取得子節(jié)點(diǎn)文本
        var email = $(this).attr('email');         // 獲取<student>元素上的email屬性
        frag.append('<li>' + id_value + '-' + email + '</li>');        // 構(gòu)造html字符串
    })
    frag.appendTo('#load');        // 最后添加到html文檔中
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容