codetc - 网站开发技术 首页 前端 查看内容

使用JQuery解析XML数据文件

2015-3-15 15:46| 发布者: CODETC| 查看: 2151| 评论: 0

用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做;使用JQuery配合ajax技术能够让我们很方便地读取并解析远程或本地xml文件,当然这里要注意一下JQuery跨域的问题,这里就不说了。下面我们来总结一下几种使用JQuery解析XML的方法。


第一种方案
<script type="text/javascript">
$(document).ready(function() {
	$.ajax({
	  	url: 'http://www.codetc.com/test.xml',
	  	dataType: 'xml',
	  	success: function(data){
		  	//console.log(data);
		 	$(data).find("channel").find("item").each(function(index, ele) {
				var titles = $(ele).find("title").text();
				var links = $(ele).find("link").text();
				console.log(titles+'-----');
				$("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
			});
		}
	});
}) 
</script>

<div id="noticecon">
	<ol>
	</ol>
</div>

第二种方案
<script type="text/javascript">
	$.get("http://www.codetc.com/test.xml", function(data){
		$(data).find('channel').find('item').each(function(index, ele){
			var titles = $(ele).find('title').text();
			var links = $(ele).find('link').text();
			$("#noticecon").find('ol').append('<li><a href="'+links+'">'+titles+'</a></li>');
		})
	});
</script>

<div id="noticecon">
	<ol>
	</ol>
</div>

解析xml文件的一般步骤如下

1. 读取xml文件
$.get("xmlfile.xml",function(xml){
	//xml即为可以读取使用的内容,具体读取见第2点
});
2. 读取xml内容

如果读取的xml是来于xml文件,这结合上面的那点,处理如下:
$.get("xmlfile.xml",function(xml){    
	$(xml).find("item").length;    
});

如果读取的是xml字符串,则要注意一点,xml字符串的必然被"<xml>"和"</xml>"包围才可以被解析
$("<xml><root><item></item></root></xml>").find("item").length;
JQuery要怎样解析xml内容呢?请看下面的示例

示例xml:
<?xml version="1.0" encoding="utf-8" ?>
<fields>
  <field Name="Name1">
    <fieldname>dsname</fieldname>
    <datatype>字符</datatype>
  </field>
  <field Name="Name2">
    <fieldname>dstype</fieldname>
    <datatype>字符</datatype>
  </field>
</fields>
以下是解析示例代码:
$(xml).find("field").each(function() {
	var field = $(this);
	var fName = field.attr("Name");//读取节点属性
	var dataType = field.find("datatype").text();//读取子节点的值
});
文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-154-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部