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

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);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值