`

返回XML数据

 
阅读更多

本章目标
使用AJAX + XML完成操作;
可以直接在后台利用DOM动态生成XML文件,并交付给AJAX进行显示。

 

返回XML数据
在XMLHttpRequest对象中也可以使用responseXML()方法接收一组返回的XML数据,这些返回的XML数据可以动态生成(利用JDOM工具将数据库中的数据变为XML文件),也可以直接读取一个XML文件,当客户端接收到读取的XML文件之后,可以通过DOM解析的方式对数据进行操作。

 

要回传的XML文件 —— allarea.xml

<?xml version="1.0" encoding="UTF-8"?>
<allarea>
	<area>
		<id>1</id>
		<title>北京</title>
	</area>
	<area>
		<id>2</id>
		<title>天津</title>
	</area>
	<area>
		<id>3</id>
		<title>南京</title>
	</area>
</allarea>

 

使用AJAX解析XML,并生成下拉列表框

<html>
<head>
<title>使用 Ajax 解析XML,并生成下拉表框</title>
<script type="text/javascript">
	var xmlHttp;//Ajax 核心对象名称
	function createXMLHttp(){//创建 XMLHttpRequest 核心对象
			xmlHttp = new XMLHttpRequest();//兼容IE9,最新的火狐,最新的谷歌
	}
	function getCity(){
		createXMLHttp();//建立 XMLHttp 核心对象
		xmlHttp.open("POST", "allarea.xml");//设置一个请求
		//设置请求完成之后处理的回调函数
		xmlHttp.onreadystatechange=getCityCallback;
		xmlHttp.send(null);//发送请求,不传递任何参数
	}
	function getCityCallback(){//定义回调函数
		if(xmlHttp.readyState==4){//数据返回完毕
			if(xmlHttp.status==200){//HTTP操作正常
				//取得 allarea 节点下的全部节点
				var allarea = xmlHttp.responseXML.getElementsByTagName("allarea")[0].childNodes;
				//取得下拉列表框 city 的对象
				var select=document.getElementById("city");
				select.length = 1;//显示一个内容
				select.options[0].selected = true;//设置第一个为选中状态
				//循环 allarea 下的子节点
				for(var i=0; i<allarea.length; i++){
					//取得每一个<area>
					var area = xmlHttp.responseXML.getElementsByTagName("allarea")[0];
					//取得每一个<area>的中<id>元素内容
					var id=area.getElementsByTagName("id")[i].firstChild.nodeValue;
					//取得每一个<area>的中<title>元素内容
					var title =area.getElementsByTagName("title")[i].firstChild.nodeValue;
					//创建 option 元素
					var option=document.createElement("option");
					//在 option 元素中设置显示的内容
					option.setAttribute("value",id);
					//在 option 中添加显示的文本内容
					option.appendChild(document.createTextNode(title));
					//在下拉框中加入 option 属性
					select.appendChild(option);
				}
			}
		}
	}
</script>
</head>
<body onload="getCity()"><!-- 页面加载时调用 -->
<form action=""  method="post">
	请选择喜欢的城市:
	<select id="city">
		<option value="0"> -请选择城市- </option>
	</select>
</form>
</body>
</html>

效果图:

 
使用XML进行数据交换
现在前台页面接收的数据不再像使用传统MVC那样需要编写Java代码了,而只需要将所需的XML数据传回到页面之中即可,而后台的开发语言,可以任意选择,例如:选择PHP或ASP.NET等,这样一个前台页面在各种开发平台下都可以通用了。



  

小结
通过XML操作可以使数据操作更加的方便,也不受平台限制。
使用AJAX + JavaScript + DOM 操作可以完成各种复杂的前台操作。

 

  • 大小: 67.1 KB
  • 大小: 20.6 KB
0
0
分享到:
评论

相关推荐

    关于jquery ajax 调用带参数的webservice返回XML数据一个小细节.docx

    在使用jQuery AJAX调用带有参数的Web Service并期望返回XML数据时,需要注意一些关键细节以确保数据能够正确传输和解析。以下是对这个问题的详细解释: 首先,jQuery的AJAX方法用于在不刷新整个页面的情况下与...

    使用WebService的方法返回xml格式的数据

    7. **返回XML数据**:转换后的XML数据可以通过SOAP响应返回给客户端。HTTP响应体中包含XML数据,客户端解析这个响应,根据XML结构提取所需信息。 8. **显示XML数据**:在客户端,可以使用XML解析库(如jQuery的$....

    进入网络请求,对返回的XML数据进入处理

    本文将深入探讨"进入网络请求,对返回的XML数据进行处理"这一主题,包括如何使用ASIHttp进行网络请求以及如何利用XMLParserSDK解析XML数据。 首先,让我们了解网络请求的基础。在网络编程中,HTTP协议是最常用的一...

    cocos2d-x WebServer网络访问和交互,对返回XML数据的解析DEMO

    服务器返回XML数据后,`onHttpRequestCompleted`回调会被触发。在回调中,使用选定的XML解析库解析数据,将XML结构转换为易于处理的C++数据结构。这可能包括提取节点值、属性值等。最后,根据解析结果更新游戏逻辑或...

    Java访问WebService返回XML数据的方法

    Java访问WebService返回XML数据的方法是Java开发者在与Web服务交互时常见的需求,特别是当Web服务以XML格式提供数据时。本篇文章将详细讲解如何通过Java实现这一过程,并介绍相关的技术点。 首先,为了访问...

    WebApi返回xml格式时去除命名空间

    本文将深入探讨如何在C#中使用WebAPI去除返回XML数据时的命名空间。 首先,我们需要了解XML命名空间的作用。XML命名空间是为了避免元素名称冲突而引入的概念,它为XML文档中的元素提供了唯一的标识。然而,在某些...

    C# Webservice返回指定的xml格式

    我们可以通过修改这个方法来返回XML数据。 要返回XML,我们需要在方法中创建一个`System.Xml.XmlDocument`对象,然后构建XML结构。例如: ```csharp [WebMethod] public XmlDocument GetXmlData() { XmlDocument ...

    c#操作XML 读取、生成,WEBSERVICE接口

    以下创建一个简单的WebService接口,用于接收和返回XML数据: ```csharp [WebService(Namespace = "http://yournamespace.com/")] public class MyWebService : WebService { [WebMethod] public XmlDocument...

    Ajax_xml数据格式

    当使用Ajax发送请求时,服务器端可以返回XML数据,客户端的JavaScript代码通过DOM(Document Object Model)解析XML并更新HTML元素。例如,以下是一个简单的Ajax请求XML数据的例子: ```javascript var xhr = new ...

    Springmvc如何返回xml及json格式数据

    - **错误尝试1**:将XML数据转换为String直接返回,可能导致中文乱码,且浏览器会将该字符串当作HTML文本处理,无法正确解析XML标签。 - **错误尝试2**:直接返回对象,如果对象没有被Spring MVC支持的JSON库(如...

    关于jquery ajax 调用带参数的webservice返回XML数据一个小细节

    使用jQuery库可以简化AJAX调用的过程,但在调用带有参数的Web服务(webservice)并期望返回XML数据时,细节处理变得尤为重要。 本知识点主要针对使用jQuery进行AJAX调用时,涉及到的如何正确传递参数给Web服务,...

    14_利用XMLHttpRequest接受与处理XML数据.doc

    当请求成功并返回XML数据时,可以通过`responseXML`属性访问XML文档。这个属性返回一个DOM对象,可以使用DOM方法如`getElementsByTagName`、`getElementById`等来遍历和操作数据: ```javascript if (xhr....

    servlet调外网接口,封装返回xml

    该代码是servlet 与外网接口xml的交互,含xml的封装解析

    Java实现XML导入不同数据库,从数据库导出数据到XML

    在这个案例中,`/api/export-to-xml` 是服务器上的一个Ajax接口,它执行数据库查询并返回XML数据。客户端接收到响应后,可以解析XML并更新页面内容。 综上所述,通过Java的JDOM库,我们可以方便地处理XML数据的导入...

    在Transact-SQL中检索XML数据的应用.pdf

    本文提到的“学生数据库”示例,说明了如何在SQL Server数据库中使用Transact-SQL语句返回XML数据。例如,通过使用FOR XML RAW子句,可以将学生的学号、课程号和成绩信息转换成XML格式,并且以具有通用名称的XML元素...

    基于SQL Server XML技术的数据驱动Web设计.pdf

    文章还讨论了基于HTTP协议的返回XML数据的方法,借助SQL Server 2000提供的XML支持工具sqlisapi.dll。 第三节,讨论了IIS中的SQL Server XML支持虚拟目录的设置。通过设置IIS及SQL Server的虚拟域,可以使得能够...

    okHttp访问返回JSON,XML解析实例

    本篇将详细讲解如何使用OkHttp进行网络访问,并解析返回的JSON与XML数据。 首先,我们需要了解OkHttp的基本用法。OkHttp是一个异步的HTTP客户端,它通过减少网络延迟和内存使用来提高性能。创建一个OkHttpClient...

    birt xml数据源

    - **API返回的XML数据**:当API返回XML格式的结果时,可以使用BIRT解析并生成报表。 - **自定义数据交换格式**:企业内部可能有基于XML的自定义数据格式,BIRT提供了一个灵活的平台来处理这些数据。 7. **MHT文件...

Global site tag (gtag.js) - Google Analytics