龙鱼家园,个性,交流,技术,专注于网站技术的研究 龙鱼家园 | jQuery学习笔记79--正确的加载XML并解析
 

jQuery学习笔记79--正确的加载XML并解析

这个问题也是我在学jquery - ajax时候碰到了,在论坛求救过, 最后shawphy给我解释了下,并且整理了一篇文章<正确用JQ的AJAX加载XML并解析.doc>  ,看了后,的确不错.  

正文:

正确用JQ的AJAX加载XML并解析
被cssrain翻了N多的关于AJAX加载XML的帖子尸体。。。。
总结一下:

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
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(这里还是用上面那个XML,子节点是student)
CODE:
$.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');
        });
    }
});

好啦,完工了,其实也不复杂,对吧?


本篇文章来源于 cssrain.cn 原文链接:http://www.cssrain.cn/article.asp?id=466
 

Search

友情链接

  • 微足迹
  • 资质通鉴
  • 译言
  • 代码发芽网
  • 清清月儿
  • 二频
  • dotnetblogengine
  • 苹果树下
  • 联系我:
    leonardleonard@126.com

    © Copyright 2012