`

JQuery解析XML数据的几个例子

 
阅读更多

用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。

第一种方案:

<script type="text/javascript">
$(document).ready(function() {
	$.ajax({
	  	url: 'http://www.nowamagic.net/cgi/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.nowamagic.net/cgi/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>

一般步骤如下:

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;

解析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();//读取子节点的值
});

-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
 <!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        var xml = '<markers>';
        xml += '<marker carId="1" carName="SHANGHAI" gpsTime="2011-08-26 21:21:11.0" lat="31.230393" lng="121.473704" direction="222" speed="22" />';
        xml += '<marker carId="7" carName="XIAMEN" gpsTime="2011-08-26 21:21:11.0" lat="24.479836" lng="118.089421" direction="222" speed="22" />';
        xml += '</markers>';
        var xmlDoc = $.parseXML(xml);
        var result="";
        $(xmlDoc).find("markers marker").each(function () {
            result += "carId = " + $(this).attr("carId")
                + " ;carName =" + $(this).attr("carName")
                + " ;gpsTime =" + $(this).attr("gpsTime") + "\n";
        });
        alert(result);
    });
</script>
</head>
<body>
</body>
</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>无标题页</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
    <script type="text/javascript">
        function search() {
            var searchStrLow = $("#txtTitle").val().toLowerCase();
            $.post("1.xml", function(data) {
                var html = "";
                $(data).find('book').each(function() {
                    var titleLow = $(this).find("title").text().toLowerCase();
                    if (titleLow.indexOf(searchStrLow)!=-1) {
                        html += "<tr><td>" + $(this).find("title").text() + "</td>";
                        html += "<td>" + $(this).find("author").text() + "</td>";
                        html += "<td>" + $(this).find("year").text() + "</td></tr>";
                        $("#tbody1").html(html);
                    }
                });
            });
        }
</script>
</head>
<body>
    <span>输入标题:</span><input id="txtTitle" type="text" />
    <input id="Button1" type="button" value="搜索" onclick="search()" />
    <table style="width: 100%;">
        <thead><tr><td>Title</td><td>Author</td><td>Year</td></tr></thead>
        <tbody id="tbody1">
        </tbody>
    </table>
</body>
</html>

<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
  <book id="No1">
   <title>An Introduction to XML</title>
   <author>Chunbin</author>
   <year>2010</year>
   <price>98.0</price>
   
 </book>
  <book id="No2">
   <title>The Performance of DataBase</title>
   <author>John</author>
   <year>1996</year>
   <price>56.0</price>
 </book>
</bookstore>
 
分享到:
评论

相关推荐

    JQuery解析XML数据的几个简单实例

    下面我们来总结几个使用JQuery解析XML的例子。 第一种方案: [removed] $(document).ready(function() { $.ajax({ url: '//www.jb51.net/cgi/test.xml', dataType: 'xml', success: function(data){ ...

    JQuery解析XML的方法小结

    下面我们来总结几个使用JQuery解析XML的例子。 第一种方案: [removed] $(document).ready(function() { $.ajax({ url: 'http://localhost/cgi/test.xml', dataType: 'xml', success: function(data){

    java+jquery处理xml数据的方法

    在探讨如何利用Java和jQuery来处理XML数据的方法之前,首先需要了解这几个技术组件的基本概念以及它们如何协同工作。Java是一种广泛使用的编程语言,它支持面向对象、跨平台的特性,而jQuery是一个流行的JavaScript...

    jquery,ajax的几个小例子

    然后,前端通过$.ajax()或$.get()发送请求,获取并解析返回的JSON数据。 **四、级联选择和自动补全** 级联选择是指在一个下拉框的选择会影响到另一个下拉框的选项。这可以通过监听第一个下拉框的change事件,然后...

    html调用xml数据

    在HTML中调用XML数据通常涉及到以下几个步骤: 1. **加载XML文件**:这可以通过创建XMLHttpRequest对象或使用现代浏览器支持的fetch API来实现。以下是一个使用XMLHttpRequest的例子: ```html var xhr = new ...

    jQuery处理XML文件的几种方法

    在这个例子中,我们通过`getElementsByTagName`找到所有名为"marker"的元素,并获取它们的"lat"和"lng"属性。 其次,我们可以利用jQuery的便利性来解析XML。jQuery的`find`方法可以很容易地定位到XML文档中的特定...

    jquery+ajax上传解析文件

    这里我们将深入探讨如何使用jQuery结合Ajax技术来实现文件上传,并通过JSON进行数据解析。 首先,jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。在文件上传的场景中,...

    Ext2.2-用XML做数据源,可编辑Grid的例子.rar

    1. **解析XML**:使用JavaScript的DOM解析器或者jQuery的parseXML函数将XML字符串转换为DOM对象。 2. **创建Store**:在Ext JS中,Store是用来存储和管理数据的组件。我们需要创建一个新的Store实例,并配置XML数据...

    Jquery 27个特效例子

    3. **图片切换**:在"jQuery+div大气新闻图片切换"这个例子中,jQuery被用来创建一个动态的图片轮播效果。通过控制CSS属性,如`display`或`opacity`,可以实现平滑的图片过渡。`setInterval()`和`fadeOut()`/`fadeIn...

    Json+Struts2+JQuery及JQuery相关插件的例子,json架包...

    通过这个例子,你可以学习到如何在实际项目中结合使用Struts2、JQuery和JSON,包括如何配置Struts2的JSON插件,如何在JQuery中处理JSON数据,以及如何利用JQuery的插件来美化和增强用户界面。同时,理解和掌握JSON的...

    ajax使用例子 包括返回xml

    文档"ajax_xml运用.doc"可能包含了一个使用Ajax获取并解析XML数据的例子。通常,这个过程包括以下几个步骤: 1. **创建XMLHttpRequest对象**:在JavaScript中,通过`new XMLHttpRequest()`来创建一个实例。 2. **...

    jquery ajax json struts2最简单例子测试成功

    在"jquery ajax json struts2最简单例子测试成功"的项目中,我们可以推断出以下几个关键点: 1. **整合jQuery与AJAX**:项目中可能使用jQuery的$.ajax()方法来发送异步请求。$.ajax()提供了一种方式,通过HTTP GET...

    jQuery加载及解析XML文件的方法实例分析

    在本文中,我们将深入探讨如何使用jQuery加载和解析XML文件,这对于在Web应用中处理结构化数据至关重要。 首先,让我们了解XML(可扩展标记语言)。XML是一种用于存储和传输数据的标记语言,它与HTML类似,但更加...

    ajax和jquery整合的一些简单的例子

    根据给定文件的信息,我们可以总结出以下几个关于 AJAX 和 jQuery 整合的重要知识点: ### 一、创建 XMLHttpRequest 对象 在 AJAX 操作中,首先要创建一个 `XMLHttpRequest` 对象,这是进行异步请求的基础。 ####...

    jquery-ajax实例

    页面上应用jQuery解析返回的JSON数据,可以方便地更新DOM元素,比如: ```javascript // 假设有一个id为'output'的div元素 $("#output").text("Name: " + name + ", Age: " + age + ", City: " + city); ``` 总结...

    jquery_jaxa实现数据库取数据进行静态分页

    前端接收到响应后,使用jQuery解析数据,并将它们插入到页面的正确位置,完成分页显示。 总的来说,这个项目展示了如何结合jQuery的Ajax功能和ASP服务器端脚本,实现高效、无刷新的静态分页,这对于处理大量数据库...

    android phonegao jquery mobile条码扫描例子源码

    在这个例子中,jQuery Mobile被用来设计和管理应用的界面布局和交互,以提供流畅的用户体验。 ZXing(Zebra Crossing)是Google开发的一个开源条码读取库,支持多种条码格式,如QR码、EAN等。在Android项目中,...

    jquery实现ajax小例子

    jquery实现ajax小例子(资源分高了点,但...提供了很多个常见的Ajax特效,学习这几个特效能助您学习jquery 项目中已有相关的包及工具,导入MyEclipse后可直接使用 jquery-1.7.js; JSON解析工具:fastjson-1.1.8.jar

    struts2整合jquery例子

    以上是关于"struts2整合jquery例子"中涉及的主要知识点,通过这个例子,你可以学习到如何在实际项目中有效地结合Struts2和jQuery,提升Web应用的开发效率和用户体验。在实践过程中,你还将接触到更多的实际问题,如...

    struts2+jquery+json 小例子

    - **数据展示**:Struts2 Action处理完业务逻辑后,返回JSON结果,jQuery解析后动态更新DOM展示数据。 博客链接中提到的内容可能详细解释了如何配置Struts2的Action、Result以及如何在JSP页面中使用jQuery与服务器...

Global site tag (gtag.js) - Google Analytics