使用jquery解析xml
阿新 • • 發佈:2018-11-01
使用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無法通過,Firefox可以執行。 可以使用以下方式來獲取XML節點內容: $.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
很多時候無法解析就是Content-Type的問題。(呵呵,我第一次做ajax的時候,就遇到這個問題.)
一定要將其設定為text/xml,否則預設就是text/html也就是普通的文字了。
常見語言的Content-Type設定
CODE:
header("Content-Type:text/xml"); //php
response.ContentType="text/xml" //asp
response.setHeader("ContentType","text/xml"); //jsp (我上次這沒寫,結果返回 是一個 "")
2,xml結構。
XML一定要封閉的,很重要! (這個我一般不會範,我還是算比較細心的.)
例:
錯誤的XML
Xml程式碼
3,解析
遍歷student(這裡還是用上面那個XML,子節點是student)
CODE:
Js程式碼
url:'ajax/test.xml',
dataType: 'xml',
cache:false, success: function(xml) {
$("AUTHOR
AUTHOR = $("AUTHOR", xml).get(id);
alert($("FIRSTNAME", AUTHOR).text());
alert($("LASTNAME
});
} }); 以上方式:IE7無法通過,Firefox可以執行。 可以使用以下方式來獲取XML節點內容: $.ajax({
url:'ajax/test.xml',
dataType: 'xml',
cache:false,
$("AUTHOR", xml).each(function(id){
//AUTHOR = $("AUTHOR",xml).get(id);
alert($(this).children("FIRSTNAME").text());
alert($(this).children("LASTNAME").text());
});
} }); 1,Content-Type
很多時候無法解析就是Content-Type的問題。(呵呵,我第一次做ajax的時候,就遇到這個問題.)
一定要將其設定為text/xml,否則預設就是text/html也就是普通的文字了。
常見語言的Content-Type設定
CODE:
header("Content-Type:text/xml"); //php
response.ContentType="text/xml" //asp
response.setHeader("ContentType","text/xml"); //jsp (我上次這沒寫,結果返回 是一個 "")
2,xml結構。
XML一定要封閉的,很重要! (這個我一般不會範,我還是算比較細心的.)
例:
錯誤的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="[email protected]">
- <name>zhangsan</name>
- <id>1</id>
- </student>
- <student email="[email protected]">
- <name>lisi</name>
- <id>2</id>
- </student>
- </stulist>
3,解析
遍歷student(這裡還是用上面那個XML,子節點是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"); //取物件
- 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"); //取物件
- 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');
- });
- }
- });