使用jquery解析xml
生活随笔
收集整理的這篇文章主要介紹了
使用jquery解析xml
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用Jquery解析XML: ?$.ajax({ ??????url: 'ajax/test.xml', ??????dataType : 'xml', ??????cache: false,? ????? success: function(xml)?{ ??????????? $("AUTHOR", xml).each(function(id) { ???????????????? AUTHOR = $("AUTHOR", xml).get(id); ???????????????? alert($("FIRSTNAME", AUTHOR).text()); ???????????????? alert($("LASTNAME", AUTHOR).text()); ??????????? }); ????? } ?}); 以上方式:IE7無(wú)法通過(guò),Firefox可以運(yùn)行。 可以使用以下方式來(lái)獲取XML節(jié)點(diǎn)內(nèi)容: ?$.ajax({ ??????url: 'ajax/test.xml', ??????dataType : 'xml', ??????cache: false,? ????? success: function(xml)?{ ??????????? $("AUTHOR", xml).each(function(id) { ???????????????? //AUTHOR = $("AUTHOR", xml).get(id); ???????????????? alert($(this).children("FIRSTNAME").text()); ???????????????? alert($(this).children("LASTNAME").text()); ??????????? }); ????? } ?}); 1,Content-Type 很多時(shí)候無(wú)法解析就是Content-Type的問(wèn)題。(呵呵,我第一次做ajax的時(shí)候,就遇到這個(gè)問(wèn)題.) 一定要將其設(shè)置為text/xml,否則默認(rèn)就是text/html也就是普通的文本了。 常見(jiàn)語(yǔ)言的Content-Type設(shè)置 CODE: header("Content-Type:text/xml");??? //php response.ContentType="text/xml"?? //asp response.setHeader("ContentType","text/xml");? //jsp?? (我上次這沒(méi)寫(xiě),結(jié)果返回 是一個(gè) "" )
2,xml結(jié)構(gòu)。 XML一定要封閉的,很重要! (這個(gè)我一般不會(huì)范,我還是算比較細(xì)心的.) 例: 錯(cuò)誤的XML Xml代碼CODE: ?? <?xml?version="1.0"?encoding="UTF-8"?>?? ????????<name>zhangsan</name>?? ????????<id>1</id>?? ????????<name>lisi</name>?? ????????<id>2</id>?? ?? 正確的?? CODE: ?? <?xml?version="1.0"?encoding="UTF-8"?>?? <stulist>?? ????????<student??email="1@1.com">?? ?? ????????????????<name>zhangsan</name>? ?? ????????????????<id>1</id>?? ????????</student>?? ????????<student??email="2@2.com">?? ???????????????<name>lisi</name>?? ????????????????<id>2</id>?? ????????</student>?? </stulist>?? CODE: <?xml version="1.0" encoding="UTF-8"?> <name>zhangsan</name> <id>1</id> <name>lisi</name> <id>2</id> 正確的 CODE: <?xml version="1.0" encoding="UTF-8"?> <stulist> <student email="1@1.com"> <name>zhangsan</name> <id>1</id> </student> <student email="2@2.com"> <name>lisi</name> <id>2</id> </student> </stulist> 3,解析 遍歷student(這里還是用上面那個(gè)XML,子節(jié)點(diǎn)是student) CODE: Js代碼 $.ajax({ ?? ????url:'ajax.jsp', ?? ????type:?'GET', ?? ????dataType:?'xml', ?? ????timeout:?1000, ?? ????error:?function(xml){ ?? ????????alert('Error?loading?XML?document'+xml); ?? ????}, ?? ????success:?function(xml){ ?? ????????$(xml).find("student").each(function(i){ ?? ????????????var?id=$(this).children("id");???//取對(duì)象 ?? ????????????var?id_value=$(this).children("id").text();??//取文本?或者?$("id"?,?xml).text();? ?? ????????????alert(id_value);//這里就是ID的值了。 ?? ????????????alert($(this).attr("email"));?//這里能顯示student下的email屬性。 ?? ????????????$('<li></li>').html(id_value).appendTo('ol'); ?? ????????}); ?? ????} ?? });?? $.ajax({ ?? ????url:'ajax.jsp', ?? ????type:?'GET', ?? ????dataType:?'xml', ?? ????timeout:?1000, ?? ????error:?function(xml){ ?? ????????alert('Error?loading?XML?document'+xml); ?? ????}, ?? ????success:?function(xml){ ?? ????????$(xml).find("student").each(function(i){ ?? ????????????var?id=$(this).children("id");???//取對(duì)象 ?? ????????????var?id_value=$(this).children("id").text();??//取文本?或者?$("id"?,?xml).text();? ?? ????????????alert(id_value);//這里就是ID的值了。 ?? ????????????alert($(this).attr("email"));?//這里能顯示student下的email屬性。 ?? ????????????$('<li></li>').html(id_value).appendTo('ol'); ?? ????????}); ?? ????} ?? });?
2,xml結(jié)構(gòu)。 XML一定要封閉的,很重要! (這個(gè)我一般不會(huì)范,我還是算比較細(xì)心的.) 例: 錯(cuò)誤的XML Xml代碼
轉(zhuǎn)載于:https://www.cnblogs.com/MMLoveMeMM/articles/3554787.html
總結(jié)
以上是生活随笔為你收集整理的使用jquery解析xml的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 优秀的SharePoint 2013开发
- 下一篇: VisualStudio中的代码段