`
gavintang
  • 浏览: 9863 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

java和js读取xml数据,处理下拉菜单

    博客分类:
  • J2EE
阅读更多

1. javascript读取xml文件构建下拉菜单

二级联动下拉菜单——职业:

  1. select name="jobType" id="jobTypeUserID" USEDATA="jobUserData" SUBCLASS="1"
  2. select name="jobName" id="jobNameUserID" USEDATA="jobUserData" SUBCLASS="2"

由js代码读取xml文件中的内容:

  1. var jobUserLinkage = new Linkage("jobUserData""xml/managemember/job.xml");       
  2. jobUserLinkage.BLANK_SELECT = "保密";       
  3. jobUserLinkage.init();       
  4. jobUserLinkage.initLinkage("jobUserData","${memberForm.jobType}",1);       
  5. jobUserLinkage.initLinkage("jobUserData","${memberForm.jobName}",2);    

 job.xml

  1. <!---->xml version="1.0" encoding="GBK"?>  
  2. <TreeNodes>  
  3.     <TreeNode Desc="计算机/互联网/通讯" Value="1">  
  4.         <TreeNode Desc="首席执行官" Value="101" />  
  5.         <TreeNode Desc="首席技术执行官" Value="102"/>  
  6.         <TreeNode Desc="高级工程师" Value="103"/>  
  7.     TreeNode>  
  8.     <TreeNode Desc="销售" Value="2">  
  9.         <TreeNode Desc="销售总监" Value="201" />  
  10.         <TreeNode Desc="销售经理" Value="202" />  
  11.     TreeNode>  
  12. TreeNodes>  

引用了两个js文件,分别是prototype.js和linkage.js文件(在附件中js.rar)。

2. java读取xml文件

读取xml文件的工具类ParseXML.java:

ParseXML.java 代码
  1. import java.io.*;
  2. import org.dom4j.Document;   
  3. import org.dom4j.DocumentException;   
  4. import org.dom4j.Node;   
  5. import org.dom4j.XPath;   
  6. import org.dom4j.io.SAXReader;   
  7. /**
  8. * XMLFile--XML文件
  9. * xPath--xpath string
  10. * value--attribute name
  11. */  
  12. public class ParseXML {    
  13.     public static String getData(String XMLFile,String xPath,String value) {   
  14.         String result="";   
  15.         Document document;
  16.         try {   //读取xml文件
  17.             SAXReader reader = new SAXReader();   
  18.             document = reader.read(new File(XMLFile));   
  19.         } catch (DocumentException e) {   
  20.             e.printStackTrace();   
  21.             return result;   
  22.         }   
  23.            
  24.         XPath x = document.createXPath(xPath);   
  25.         Node node=x.selectSingleNode(document);   
  26.         if(node!=null)   
  27.             result=node.valueOf(value);   
  28.                
  29.         return result;   
  30.     }   
  31.        
  32. }  

根据actionform得到的jobType和jobName,构建xPath,调用读取job.xml中的Desc值

  1. String XMLFile="job.xml";   
  2. String xPath="//TreeNode[@Value='"+f.getJobType()+"']";   
  3. String value="@Desc";   
  4. String strJobType=ParseXML.getData(XMLFile, xPath,value);   
  5. xPath="//TreeNode[@Value='"+f.getJobName()+"']";   
  6. String strJobName=ParseXML.getData(XMLFile, xPath,value);  
  • js.rar (12.1 KB)
  • 描述: JS文件
  • 下载次数: 171
分享到:
评论

相关推荐

    JS + XML 联动菜单 支持IE、FireFox

    在这里,这两个文件可能是联动菜单的数据源,XML文件可能被JavaScript读取以构建菜单,而XLS文件可能是数据的备份或原始来源。 总结一下,这个压缩包提供了一个基于JS和XML的联动菜单解决方案,适用于Internet ...

    dwr+xml集成实现省市级联菜单

    最后,JavaScript会更新市的下拉菜单,展示相应的选项。 为了使这个系统正常工作,还需要考虑一些关键点,比如错误处理、数据缓存和性能优化。错误处理确保在数据加载失败或用户选择非法值时,能够给出适当的反馈。...

    一个jsp文件模拟xml文件,通过js调用解析后,在新的jsp页面上显示省市二级联动。

    在这个案例中,JSP文件被用来模拟XML文件,这可能是因为XML格式的数据易于读取和处理,而且结构清晰。开发者可能选择在JSP中创建XML样式的数据结构,以便于JavaScript进行解析和操作。 XML(eXtensible Markup ...

    省市县三级级联的xml文件和读取方法

    实际应用中,这些数据可以用于填充前端的级联下拉菜单,例如在JavaScript中使用jQuery的`$.ajax()`或axios库来异步加载XML数据,然后动态生成HTML元素。 在提供的压缩包文件中,有两个MHT文件,这是一种HTML单个...

    js实现省市县级联菜单

    1. **初始化**:加载页面时,JavaScript代码会获取服务器上的省市区县数据,并填充到相应的下拉菜单中。 2. **联动**:当用户在省级菜单中选择一个选项时,JavaScript会监听该事件并根据选择的省来动态加载对应的...

    全球国家省市区4级联动XML版本_简体中文

    在实际应用中,这种数据通常会被前端或后端程序读取,用于实现下拉菜单的联动效果。当用户在某个级别选择一个选项时,下一级别的选项会根据之前的选择动态加载。这种设计提高了用户体验,减少了输入错误,尤其在处理...

    ajax读取数据库内容实现二级联动下拉选择菜单示例

    客户端的JavaScript代码再将这些数据解析并填充到第二个下拉菜单中。 总结来说,实现二级联动下拉选择菜单的关键步骤包括: 1. 创建XMLHttpRequest对象并设置响应处理。 2. 发送异步请求到服务器,附带需要筛选的...

    学生选课 XML操作

    开发者可以使用HTML配合JavaScript或者服务器端技术(如ASP.NET、PHP)来创建表单,用户通过选择下拉菜单或输入框提交选课请求,后端则利用XML操作处理这些请求。 总结,学生选课系统中的XML操作涉及了创建XML文件...

    全国世界所有城市联动数据(持续更新)

    在实现城市联动功能时,前端可以通过Ajax请求获取json数据,动态渲染出级联的下拉菜单。 其次,csv(Comma-Separated Values)文件是一种通用的、非结构化的数据格式,它用逗号分隔每一项数据,适合于表格数据的...

    CSS样式 JS特效 Java小工具 文学文档 Java插件 截图软件

    常见的JS特效包括图片轮播、下拉菜单、弹出窗口、滑动门、计时器等。 “Java小工具”通常指的是用Java编程语言编写的小型实用程序,这些程序可能具有特定功能,如文件管理、系统监控、数据处理等。Java因其跨平台...

    dhtmlx官网JS包与例子与后台处理

    5. **dhtmlxToolbar** - 创建自定义工具栏,提供按钮、下拉菜单、输入框等元素。 **dhtmlxConnector与Java后台处理** dhtmlxConnector是一个Java服务器端模块,用于连接dhtmlx前端组件与后端数据库。它实现了AJAX...

    xml文档解析实现ajax功能

    XML在这里可能是服务器返回的数据,通过AJAX请求获取后,前端JavaScript代码利用DOM解析XML,将数据填充到页面相应的元素中,从而实现联动菜单效果。联动菜单通常是用户在一个下拉选项中选择一项后,根据选择自动...

    全球国家,省份,城市 三级联动

    1. 数据解析:如果是CSV文件,可以使用Python的`pandas`库进行读取和处理;JSON文件可以用`json`库;XML文件可能需要用到`xml.etree.ElementTree`库。 2. 数据清洗:在导入数据后,可能需要去除重复项,修正格式...

    实现jsp页面二级下拉框联动,实时读取数据库数据

    在网页设计中,二级下拉框联动是一种常见的交互方式,特别是在数据量较大、分类层次分明的情况下,能够有效地帮助用户快速筛选和定位所需信息。本文将详细介绍如何使用JSP(JavaServer Pages)技术来实现这样的功能...

    SSH+级联菜单应用案例

    4. **级联菜单的概念**:级联菜单,也称为下拉菜单或子菜单,是指菜单项展开后显示一系列相关选项的交互设计。在Web应用中,用户点击一个菜单项,会触发下一级菜单的显示,这些子菜单可能包含更具体的操作或进一步的...

    Java学生管理系统(MVC 模式)

    5. **特效**:描述中提到的“很多特效”可能指的是使用JavaScript库(如jQuery)或者前端框架(如Vue.js或React)实现的动态效果,如滑动、淡入淡出、下拉菜单等,这些都能提升系统的交互性和吸引力。 6. **文件...

Global site tag (gtag.js) - Google Analytics