用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。
第一种方案:
<script type="text/javascript">
02
$(document).ready(function() {
03
$.ajax({
04
url: 'http://www.nowamagic.net/cgi/test.xml',
05
dataType: 'xml',
06
success: function(data){
07
//console.log(data);
08
$(data).find("channel").find("item").each(function(index, ele) {
09
var titles = $(ele).find("title").text();
10
var links = $(ele).find("link").text();
11
console.log(titles+'-----');
12
$("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
13
});
14
}
15
});
16
})
17
</script>
18
19
<div id="noticecon">
20
<ol>
21
</ol>
22
</div>
第二种方案:
<script type="text/javascript">
02
$.get("http://www.nowamagic.net/cgi/test.xml", function(data){
03
$(data).find('channel').find('item').each(function(index, ele){
04
var titles = $(ele).find('title').text();
05
var links = $(ele).find('link').text();
06
$("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
07
})
08
});
09
</script>
10
11
<div id="noticecon">
12
<ol>
13
</ol>
14
</div>
一般步骤如下:
1. 读取xml文件
$.get("xmlfile.xml",function(xml){
2
//xml即为可以读取使用的内容,具体读取见第2点
3
});
2. 读取xml内容
如果读取的xml是来于xml文件,这结合上面的那点,处理如下:
1
$.get("xmlfile.xml",function(xml){
2
$(xml).find("item").length;
3
});
如果读取的是xml字符串,则要注意一点,xml字符串的必然被"<xml>"和"</xml>"包围才可以被解析
$("<xml><root><item></item></root></xml>").find("item").length;
解析xml内容:
示例xml:
<?xml version="1.0" encoding="utf-8" ?>
02
<fields>
03
<field Name="Name1">
04
<fieldname>dsname</fieldname>
05
<datatype>字符</datatype>
06
</field>
07
<field Name="Name2">
08
<fieldname>dstype</fieldname>
09
<datatype>字符</datatype>
10
</field>
11
</fields>
以下是解析示例代码:
$(xml).find("field").each(function() {
2
var field = $(this);
3
var fName = field.attr("Name");//读取节点属性
4
var dataType = field.find("datatype").text();//读取子节点的值
5
});