首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

[转]施用jquery解析xml

2012-09-21 
[转]使用jquery解析xml使用Jquery解析XML:?$.ajax({??????url: ajax/test.xml,??????dataType : xml,?

[转]使用jquery解析xml

使用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代码?[转]施用jquery解析xml
  1. CODE: ??
  2. <?xml?version="1.0"?encoding="UTF-8"?>??
  3. ????????<name>zhangsan</name>??
  4. ????????<id>1</id>??
  5. ????????<name>lisi</name>??
  6. ????????<id>2</id>??
  7. ??
  8. 正确的??
  9. CODE: ??
  10. <?xml?version="1.0"?encoding="UTF-8"?>??
  11. <stulist>??
  12. ????????<student??email="1@1.com">?????
  13. ????????????????<name>zhangsan</name>????
  14. ????????????????<id>1</id>??
  15. ????????</student>??
  16. ????????<student??email="2@2.com">??
  17. ???????????????<name>lisi</name>??
  18. ????????????????<id>2</id>??
  19. ????????</student>??
  20. </stulist>??

3,解析
遍历student(这里还是用上面那个XML,子节点是student)
CODE:
Js代码?[转]施用jquery解析xml
  1. $.ajax({ ??
  2. ????url:'ajax.jsp', ??
  3. ????type:?'GET', ??
  4. ????dataType:?'xml', ??
  5. ????timeout:?1000, ??
  6. ????error:?function(xml){ ??
  7. ????????alert('Error?loading?XML?document'+xml); ??
  8. ????}, ??
  9. ????success:?function(xml){ ??
  10. ????????$(xml).find("student").each(function(i){ ??
  11. ????????????var?id=$(this).children("id");???//取对象???
  12. ????????????var?idvalue=$(this).children("id").text();??//取文本?或者?$("id"?,?xml).text();???
  13. ????????????alert(id_value);//这里就是ID的值了。???
  14. ????????????alert($(this).attr("email"));?//这里能显示student下的email属性。???
  15. ????????????$('<li></li>').html(id_value).appendTo('ol'); ??
  16. ????????}); ??
  17. ????} ??
  18. });??
  1. $.ajax({ ??
  2. ????url:'ajax.jsp', ??
  3. ????type:?'GET', ??
  4. ????dataType:?'xml', ??
  5. ????timeout:?1000, ??
  6. ????error:?function(xml){ ??
  7. ????????alert('Error?loading?XML?document'+xml); ??
  8. ????}, ??
  9. ????success:?function(xml){ ??
  10. ????????$(xml).find("student").each(function(i){ ??
  11. ????????????var?id=$(this).children("id");???//取对象???
  12. ????????????var?idvalue=$(this).children("id").text();??//取文本?或者?$("id"?,?xml).text();????
  13. ????????????alert(id_value);//这里就是ID的值了。???
  14. ????????????alert($(this).attr("email"));?//这里能显示student下的email属性。???
  15. ????????????$('<li></li>').html(id_value).appendTo('ol'); ??
  16. ????????}); ??
  17. ????} ??
  18. });?

------------------------------------分割线--------------------------------------
<packet version="1.0.0"><status>success</status><data><item><id>4b6a3c233b4cb</id><count_view>41</count_view><updated>2010-03-04 17:08:28</updated></item></data></packet>
?用jquery解析如下:
 function(xml) {var val=$(xml).find("data>item>count_view").text();alert(val);
?

?

热点排行