将响应解析为XML
parseXML.xml清单:
<?xml version="1.0" encoding="UTF-8"?>
<states>
<north>
<state>Minnesota</state>
<state>Iowa</state>
<state>North Dakota</state>
</north>
<south>
<state>Texas</state>
<state>Oklahoma</state>
<state>Louisiana</state>
</south>
<east>
<state>New York</state>
<state>North Carolina</state>
<state>Massachusetts</state>
</east>
<west>
<state>California</state>
<state>Oregon</state>
<state>Nevada</state>
</west>
</states>
parseXML.html清单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Parsing XML Responses with the W3C DOM</title>
<script type="text/javascript">
var xmlHttp;
var requestType = "";
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(requestedList) {
requestType = requestedList;
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", "parseXML.xml", true);
xmlHttp.send(null);
}
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
if(requestType == "north") {
listNorthStates();
}
else if(requestType == "all") {
listAllStates();
}
}
}
}
function listNorthStates() {
var xmlDoc = xmlHttp.responseXML;//以XML形式接收
var northNode = xmlDoc.getElementsByTagName("north")[0];
var northStates = northNode.getElementsByTagName("state");
outputList("Northern States", northStates);
}
function listAllStates() {
var xmlDoc = xmlHttp.responseXML;//以XML形式接收
var allStates = xmlDoc.getElementsByTagName("state");
outputList("All States in Document", allStates);
}
function outputList(title, states) {
var out = title;
var currentState = null;
for(var i = 0; i < states.length; i++) {
currentState = states[i];
out = out + "\n- " + currentState.childNodes[0].nodeValue;
}
alert(out);
}
</script>
</head>
<body>
<h1>Process XML Document of U.S. States</h1>
<br/><br/>
<form action="#">
<input type="button" value="View All Listed States" onclick="startRequest('all');"/>
<br/><br/>
<input type="button" value="View All Listed Northern States" onclick="startRequest('north');"/>
</form>
</body>
</html>
运行结果:
分享到:
相关推荐
在“使用JSON向服务器发送数据——ajax基础笔记”这个主题中,我们首先会了解如何创建一个XMLHttpRequest对象。在JavaScript中,你可以通过`new XMLHttpRequest()`来实例化一个对象,然后利用它的方法如`open()`、`...
在本笔记中,我们将深入探讨XmlHttpRequest在Ajax中的应用实例,以及如何结合jQuery库进行更便捷的操作。 **一、XmlHttpRequest对象** XmlHttpRequest是浏览器内置的一个对象,它允许我们向服务器发送HTTP请求并...
《完善后的在线云笔记系统——基于mybatis、javaee、ajax和json的技术实践》 在线云笔记系统在当今数字化时代中扮演着重要角色,它为用户提供了一种方便、快捷的记录、整理和共享信息的方式。本项目是针对一个已有...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
- 更新:`engine.js`收到响应后,解析数据,并更新相应的JavaScript对象或者DOM元素。 6. **学习笔记**: 学习笔记可能涵盖了DWR的安装、配置、基本用法、安全设置、转换服务、错误处理等方面,帮助初学者快速...
这篇学习笔记将深入探讨这两个概念,以及它们在实际开发中的应用。 Servlet是Java编程语言的一个接口,由Sun Microsystems(现为Oracle)定义,它允许Java代码与HTTP服务器交互。Servlet主要负责处理客户端的请求并...
《cl.zip_The Calendar》是一个专门用于管理日程和笔记的程序,它将每个月的日历信息存储在单独的文件中,方便用户查看和管理。在这个压缩包中,我们只有一个核心文件——cl.php,这通常意味着这是一个基于PHP语言...
2. **数据管理**:在Notes-App中,JavaScript可能利用AJAX(Asynchronous JavaScript and XML)技术实现异步数据交换,这样用户无需刷新页面就能完成笔记的增删查改。此外,可能会使用JSON(JavaScript Object ...
《SpringBoot实战——foodie-dev项目解析》 在IT领域,SpringBoot框架因其简洁的配置、快速的开发特性,已经成为构建微服务应用的首选之一。本文将深入剖析名为"foodie-dev"的SpringBoot项目,这是一个已经完成了40...
AJAX(Asynchronous JavaScript and XML)技术也可能被用来实现页面的部分更新,提高用户体验。 最后,项目的构建工具可能是Maven或Gradle,它们负责管理项目的依赖关系,自动化构建流程,确保项目的可重复构建性。...