基于jQuery+ajax读取解析XML文件详细例子代码,今天给各位朋友带来的是jQuery+ajax读取解析XML文件实例,本文章主要介绍了jQuery+ajax读取并解析XML文件的方法,涉及jQuery的ajax方法调用xml文件及针对xml数据的遍历与节点操作相关技巧,有兴趣朋友来详细了解下吧。
ajax.xml:
<?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>
demo.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>加载XML</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="editplus" />
<script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(function() {
$("button").click(function(){
$.ajax({
url:'xml/ajax.xml',
type: 'GET',
dataType: 'xml',
timeout: 1000,
cache:false,
error: function(xml){
alert('加载XML文档出错');
},
success: function(xml){
//建立一个代码片段
var frag=$("<ul/>");
//遍历所有student节点
$(xml).find("student").each(function(i){
//获取id节点
var id=$(this).children("id"),
//获取节点文本
id_value=id.text(),
//获取student下的email属性。
email=$(this).attr("email");
//构造HTML字符串,通过append方法添加进之前建立代码片段
frag.append("<li>"+id_value+"-"+email+"</li>");
});
//最后得到的frag添加进HTML文档中
frag.appendTo("#load");
}
});
});
});
</script>
</head>
<body>
<button>加载</button>
<div id="load"></div>
</body>
</html>
效果图:
ajax.xml:
<?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>
demo.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>加载XML</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="generator" content="editplus" /> <script type="text/javascript" src="js/jquery-1.10.1.min.js"></script> <script type="text/javascript"> $(function() { $("button").click(function(){ $.ajax({ url:'xml/ajax.xml', type: 'GET', dataType: 'xml', timeout: 1000, cache:false, error: function(xml){ alert('加载XML文档出错'); }, success: function(xml){ //建立一个代码片段 var frag=$("<ul/>"); //遍历所有student节点 $(xml).find("student").each(function(i){ //获取id节点 var id=$(this).children("id"), //获取节点文本 id_value=id.text(), //获取student下的email属性。 email=$(this).attr("email"); //构造HTML字符串,通过append方法添加进之前建立代码片段 frag.append("<li>"+id_value+"-"+email+"</li>"); }); //最后得到的frag添加进HTML文档中 frag.appendTo("#load"); } }); }); }); </script> </head> <body> <button>加载</button> <div id="load"></div> </body> </html>
效果图: