javascript对xml的解析
function selectProv(field) {
var xmlHttp = null;
//表示当前浏览器不是ie,如ns,firefox
if(window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
var url = "${pageContext.request.contextPath}/servlet/SelectProvServlet?regionId=" + trim(field.value) + "&time=" + new Date().getTime();
//设置请求方式为GET,设置请求的URL,设置为异步提交
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange=function() {
//Ajax引擎状态为成功
if (xmlHttp.readyState == 4) {
//HTTP协议状态为成功
if (xmlHttp.status == 200) {
var doc = xmlHttp.responseXML;
var items = doc.getElementsByTagName("item");
//取得省下拉列表
var provSelect = document.getElementById("province");
//清除省下拉列表中的值
provSelect.options.length = 0;
var o = new Option("--全部--", 0);
provSelect.add(o);
for (var i=0; i<items.length; i++) {
//var id = items[i].childNodes[0].childNodes[0].nodeValue;
//var name = items[i].childNodes[1].childNodes[0].nodeValue;
var id = items[i].childNodes[0].firstChild.nodeValue;
var name = items[i].childNodes[1].firstChild.nodeValue;
//alert(id + "," + name);
//构造下拉列表的Option对象
var o = new Option(name, id);
//向下拉列表中添加选项
provSelect.add(o);
}
}else {
alert("请求失败,错误码=" + xmlHttp.status);
}
}
};
//将设置信息发送到Ajax引擎
xmlHttp.send(null);
}
---------------------------------------------------------------------------------------------------------------------------------
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import com.bjpowernode.drp.basedata.manager.ClientManager;
/**
* 下拉联动,根据区域代码选择省
* @author Administrator
*
*/
public class SelectProvServlet extends HttpServlet {
/*
1、自定义格式
10023,吉林省#10025,辽宁省#10026,黑龙江
2、XML格式
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<id>10023</id>
<name>吉林省</name>
</item>
<item>
<id>10025</id>
<name>辽宁省</name>
</item>
<item>
<id>10026</id>
<name>黑龙江</name>
</item>
</items>
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/xml;charset=UTF-8");
int regionId = Integer.parseInt(request.getParameter("regionId"));
if (regionId != 0) {
Map<Integer, String> map = ClientManager.getInstance().getProvByRegionId(regionId);
Document doc = DocumentHelper.createDocument();
Element rootElt = doc.addElement("items");
for (Iterator<Map.Entry<Integer, String>> iter=map.entrySet().iterator(); iter.hasNext();) {
Map.Entry<Integer, String> entry = iter.next();
Element itemElt = rootElt.addElement("item");
Element idElt = itemElt.addElement("id");
idElt.setText(String.valueOf(entry.getKey()));
Element nameElt = itemElt.addElement("name");
nameElt.setText(entry.getValue());
}
String xmlString = doc.asXML();
System.out.println(xmlString);
response.getWriter().print(xmlString);
}
}
}
分享到:
相关推荐
Beginning JavaScript with DOM Scripting and Ajax is an essential resource for modern JavaScript programming. This completely updated second edition covers everything you need to know to get up-to-...
web开发资料集合(ajax css dom html javascript xml 正则表达式 共22本)!! 菜鸟高手都不能错过!!
Beginning JavaScript with DOM Scripting and Ajax, 2nd Edition (pdf + ePub) by Russ Ferguson and Christian Heilmann Publisher: Apress; 2nd Edition (July 2013) Language: English ISBN-10: 1430250925 ...
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 主要包含了以下几种技术 Ajax的定义 基于web标准XHTML+CSS的表示; 使用 DOM进行动态显示及...
HTML+Ajax+DOM+JavaScript+CSS+XML(文档合集).rar
使用dom,dom4j,jdom生成和解析XML文档实例,使用基于事件的SAX解析XML文档实例,使用jquery,javascript动态的生成DOM实例,使用jquery,javascript解析ajax回传的XML文档实例,jquery,javascript的ajax技术使用实例,...
可是好东西哦,很难找的 <br>包含内容: Cascading Style Sheet 样式表中文手册.chm DOM帮助文档.chm HTML基础.chm JavaScript宝典.chm xml_基础学习完全手册.chm
从颇具深度的JavaScript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本设计,从XML(E4X)到Ajax及JSON,从...
In this section, I also provide an introduction to the Asynchronous JavaScript and XML (Ajax) approach. The book finishes by examining how to work with XML on the server. It covers two server- side ...
web开发必备,含:ajax实战中文版.pdf,CSS中文手册.chm、Div+CSS 布局.pdf,DOM文档.chm、HTML基础.chm、xml手册.chm,正则表达式.CHM,JS宝典.chm
掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM 掌握 Ajax第 6 部分-建立基于 DOM 的 Web 应用程序 掌握 Ajax第 7 部分-在请求和响应中使用 XML 掌握 Ajax第 10 部分--使用 JSON 进行数据...
Ajax-domajax.zip,一个jquery插件,可以在不使用javascript行的情况下构建完整的ajax调用,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中...
本文实例讲述了Ajax对xml信息的接收和...Ajax负责请求xml,DOM(JavaScript)负责处理xml信息 Ajax+JavaScript实现对xml的接收处理,可以方便我们后期实现一个静态网站(html+css+JavaScript)实现对各个接口数据的处
资源名称:jQuery简化Ajax开发内容简介:Ajax 并不是一种语言,它只是几种旧技术如 Javascript 和 XML 以及 DOM 的综合应用,全称为 Asynchronous Javascript and XML,即 异步 Javascript 和 XML...
XML&DOM节点属性、方法参考,是搞AJAX DOM操作必备文档。
3.1 DOM不是JavaScript,它是文档 3.2 DOM的级别 3.2.1 DOM 0 级 3.2.2 DOM 1 级 3.2.3 DOM 2 级 3.2.4 DOM 3 级 3.2.5 哪个级别适合你 3.3 创建示例文档 3.3.1 创建DOM...
操纵和解析XML 选择合适的XML生成方式 XHTML与CSS XHTML、CSS与Ajax XHTML与CSS基础 XHTML语法约束 JavaScript JavaScript与Ajax JavaScript基本数据结构 JavaScript表达式和运算符 JavaScript的流程控制和函数 ...
1.浏览器对XML DOM的支持 1.1 DOM2级核心 ①在DOM2级在document.implementation中引入了createDocument()方法(IE6~8不支持)。 可以创建一个空白XML。 var xmldom = document.implemention.createDocument...
XML DOM手册,CHM格式,AJAX开发必备!
Test4IE XMLDOM.htm IE中的XML DOM支持 Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际使用的XML文档 ...