`

javascript对xml的解析 (ajax,dom4j)

阅读更多

 

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);


  }
 }

}

分享到:
评论

相关推荐

    xml数据前后台解析:jdom与dom4j源码,程序可以跑

    本文将深入探讨XML数据在前后台解析的过程中,重点介绍两种主流的Java XML解析库——JDOM和DOM4J,并提供实际运行的程序示例。同时,我们还会讨论如何使用jQuery在前端解析XML并展示数据。 首先,让我们了解XML的...

    XML DWR 解析dom 解析xml Ajax 杂乱的例子

    解析XML文档,通常有两种方法:DOM解析和SAX解析。DOM解析会将整个XML文档加载到内存中,形成一棵DOM树,允许随机访问任何节点。而SAX解析则是一种事件驱动的解析方式,逐行读取文档,只在遇到特定事件(如开始元素...

    解析xml,ajax

    - 使用XML:在早期的Ajax应用中,XML常作为数据交换格式,可以通过XMLHttpRequest的responseXML属性获取XML数据,然后使用DOM或其他解析方式处理数据。 - JSON的兴起:随着JSON的广泛使用,现在的Ajax更多地采用...

    通过DOM和Ajax使用XML_从菜鸟到专家2006

    2. **DOM解析**:DOM解析器将XML文档转化为内存中的对象结构,开发者可以使用编程语言(如JavaScript、C#或Java)通过DOM API来查找、修改、添加和删除节点。理解DOM树的概念,掌握节点遍历和操作的方法,是使用DOM...

    dom dom4j script帮助文档

    学习这些资料,你可以深入理解如何使用DOM4J解析和操作XML,以及如何在Web开发中有效地利用JavaScript与DOM交互,实现丰富的客户端功能。同时,了解DOM4J与Script的结合应用,将有助于提升你的Web开发技能,为项目...

    javascript 操作xml_dom对象整理集合

    综上所述,JavaScript操作XML DOM对象涉及到了从解析XML到动态操作文档的各个层面,同时结合JavaScript技巧,可以实现高效、灵活的Web应用开发。通过不断学习和实践,开发者能更好地驾驭这个强大的工具集。

    Beginning JavaScript with DOM Scripting and Ajax

    JavaScript作为Web前端的核心语言,DOM(Document Object Model)则提供了对HTML和XML文档的结构化表示,而Ajax(Asynchronous JavaScript and XML)则革新了网页的交互体验,实现了页面的异步更新。 一、...

    JavaScript解析XML文件,在网页上以目录树的形式显示

    2. **JavaScript解析XML**:JavaScript提供了两种主要的方式来解析XML,即`DOMParser`和`XMLHttpRequest`(也称为Ajax)。`DOMParser`可以将XML字符串转化为DOM对象,方便后续操作;`XMLHttpRequest`则可以异步加载...

    Ajax 解析XML+json总结

    然而,实际应用中,XML已经不再是Ajax数据交互的主要格式,JSON(JavaScript Object Notation)因其简洁、易于解析的特性,逐渐成为首选。下面我们将深入探讨Ajax解析XML和JSON的相关知识点。 **一、Ajax基本原理**...

    JavaScript JSP XML Ajax

    在Web开发中,XML可以作为数据存储格式,与JavaScript、JSP或Ajax配合,实现数据的动态加载和解析。 **Ajax(Asynchronous JavaScript and XML)** 是一种创建动态网页的技术,它不是一种单一的技术,而是一组用于...

    js-xml.rar_javascript_javascript xml_js xml_js解析xml_xml js

    在JavaScript中,XML文档可以通过DOM(Document Object Model)接口来解析。DOM是一种标准,允许程序和脚本动态更新、添加和删除HTML或XML文档的内容和结构。XML文档被解析成一个DOM树,每个节点代表XML文档的一个...

    基于xml的Ajax

    7. **解析XML**:使用JavaScript的DOM解析器(如`ActiveXObject`或`DOMParser`)将XML响应转换为可操作的DOM树。 8. **更新DOM**:根据解析后的XML数据,使用DOM操作方法(如`appendChild`、`innerHTML`等)更新...

    web开发资料集合(ajax css dom html javascript xml 正则表达式 共22本)

    这个压缩包包含了一整套关于Web开发的基础到高级知识,包括Ajax、CSS、DOM、HTML、JavaScript、XML以及正则表达式等核心概念。以下是对这些关键知识点的详细介绍: 1. **HTML(超文本标记语言)**:HTML是构建网页...

    js的XML解析器 可以解析XMl文件和XML字符串

    - **DOM解析**:JavaScript中最常见的XML解析方式是通过DOM解析器,它将XML文档转换为DOM树,每个元素、属性和文本节点都成为DOM树的一部分。例如,`DOMParser`对象可用于解析XML字符串: ```javascript var ...

    Beginning JavaScript with DOM Scripting and Ajax: Second Editon

    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-...

    26、JavaScript中的XML

    这篇博文通过"xmldom.js"这个文件,很可能是介绍如何在JavaScript环境中解析和操作XML数据。 XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、存储和传输。它允许自定义标签来描述数据结构,...

    dom4j,javaee,jquery,JS,spring,hibernate,h5中文API

    本资源集合涵盖了多个重要的技术领域,包括XML解析(DOM4J),Java企业级应用(JavaEE),客户端脚本语言JavaScript及其库jQuery,以及后端开发中的Spring框架和Hibernate ORM。此外,还包含了HTML5的中文API文档,...

    FireFox下用XML DOM解析XML文档(ASP.NET Web)

    当需要在Firefox浏览器环境下处理XML文档时,开发者通常会使用XML DOM(Document Object Model)来解析和操作XML。本文将详细讲解如何在Firefox下利用XML DOM解析XML文档。 首先,理解XML DOM的概念是至关重要的。...

Global site tag (gtag.js) - Google Analytics