用JQuery 实现AJAX加载XML并解析的脚本
用JQuery 实现AJAX加载XML并解析的脚本
发布时间:2016-12-30 来源:查字典编辑
摘要:1,Content-Type很多时候无法解析就是Content-Type的问题。如果本身就是xml文件,请跳过这一步动态生成的XML一定要将...

1,Content-Type

很多时候无法解析就是Content-Type的问题。

如果本身就是xml文件,请跳过这一步

动态生成的XML一定要将其设置为text/xml,否则默认就是text/html也就是普通的文本了。

常见语言的Content-Type设置

复制代码 代码如下:

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,解析

这里引用macnie的

遍历student(这里还是用上面那个XML,子节点是student)

复制代码 代码如下:

$.ajax({

url:'ajax.asp',

type: 'GET',

dataType: 'xml',//这里可以不写,但千万别写text或者html!!!

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(); //取文本

alert(id_value);//这里就是ID的值了。

alert($(this).attr("email")); //这里能显示student下的email属性。

//最后么输出了,这个是cssrain的写法,貌似比macnie更JQ一点

$('<li></li>')

.html(id_value)

.appendTo('ol');

});

}

});

最后补充一条:保证服务器端是utf-8的编码

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类