`
cyz001
  • 浏览: 42547 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用jquery解析xml

    博客分类:
  • js
阅读更多
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');
        });
    }
});

分享到:
评论
1 楼 lihengzkj 2011-12-03  
晕,明显是抄别个的嘛!

相关推荐

Global site tag (gtag.js) - Google Analytics