`
阅读更多
说明:SAXReader主要用于解析XML文件,是当前比较流行的xml解决方案.
 
代码以基础类函数的形式展现如下:
java 代码
  1. package com.dc.framework.taglib;   
  2. import java.io.FileInputStream;   
  3. import java.io.FileNotFoundException;   
  4. import java.util.HashMap;   
  5. import java.util.Iterator;   
  6. import java.util.List;   
  7. import java.util.Map;   
  8. import javax.servlet.ServletRequest;   
  9. import javax.servlet.http.HttpServletRequest;   
  10. import javax.servlet.jsp.JspTagException;   
  11. import javax.servlet.jsp.tagext.TagSupport;   
  12. import org.apache.commons.lang.StringUtils;   
  13. import org.dom4j.Document;   
  14. import org.dom4j.DocumentException;   
  15. import org.dom4j.Element;   
  16. import org.dom4j.io.SAXReader;   
  17.     
  18.   
  19. //自定义标签处理类   
  20. public class ReadUploadFile {   
  21.     // 配置文件的路径   
  22.     static String uploadCfgFile = "WEB-INF/conf/uploadfile.xml";    
  23.     //文档对象实体   
  24.     Document uploadDocument = null;   
  25.     //结果存储体   
  26.     Map uploadMap = new HashMap();   
  27.        
  28.  /**  
  29.   * @param request  
  30.   * @return  
  31.   * 获取配置文件绝对路径  
  32.   */  
  33.  private String getuploadCfgFile(ServletRequest request) {   
  34.       return ((HttpServletRequest) request).getSession().getServletContext().getRealPath(uploadCfgFile);   
  35.  }   
  36.     
  37.  /**  
  38.   * @param request  
  39.   * @return  
  40.   * 初始化配置文件  
  41.   */  
  42.  private Document inituploadCfgDocument(ServletRequest request) {   
  43.       SAXReader saxReader = new SAXReader();   
  44.       try {   
  45.           //得到指定文件以流的形式对文件进行序列化   
  46.           FileInputStream fis = new FileInputStream(getuploadCfgFile(request));   
  47.           uploadDocument = saxReader.read(fis);   
  48.       }   
  49.       catch (DocumentException e) {   
  50.           e.printStackTrace();   
  51.       }   
  52.       catch(FileNotFoundException fnfe){   
  53.           fnfe.printStackTrace();   
  54.       }   
  55.       return uploadDocument;   
  56.  }   
  57.     
  58.  /**  
  59.   * 获取配置文件  
  60.   *  
  61.   * @param request  
  62.   * @return  
  63.   */  
  64.  private Document getuploadCfgDocument(ServletRequest request) {   
  65.       if (this.uploadDocument == null) {   
  66.           this.uploadDocument = inituploadCfgDocument(request);   
  67.       }   
  68.       return this.uploadDocument;   
  69.  }   
  70.   
  71.  /**  
  72.   * @param request  
  73.   * @return  
  74.   * 获取某个指定preparents的配置属性  
  75.   */  
  76.  public Map getuploadMap(ServletRequest request) {   
  77.      //xml中的访问路径,说明欲处理XML文件的根元素是fileaction-configuration   
  78.      String xPath = "//fileaction-configuration/preparents";   
  79.      //获取按照指定搜索路径得到的元素列表,这里指获取所有的fileaction-configuration下的preparents元素   
  80.      List result = getuploadCfgDocument(request).selectNodes(xPath);   
  81.      //属性和指定子元素的存储体   
  82.      Map uploadMap = new HashMap();   
  83.      //遍历所得元素   
  84.      Iterator iter = result.iterator();   
  85.      while (iter.hasNext()) {      
  86.          //获得具体的preparents元素   
  87.          Element preparents = (Element) iter.next();   
  88.          // 取得preparents元素的id属性的值   
  89.          String id2 = preparents.attributeValue("id");   
  90.          // 取得preparents元素下子元素tabname的值,并与id2配对存储   
  91.          uploadMap.put(id2,   
  92.             StringUtils.trim(preparents.elementText("tabname")));      
  93.       }   
  94.       return uploadMap;   
  95. }   
  96. }   
  97.   
  98. 文章引用自:    
分享到:
评论

相关推荐

    Dom4J-SaxReader 的用法

    冰云总结的SaxReader 的用法 冰云总结的SaxReader 的用法

    使用SAXReader需要两个jar包

    这是SAXReader需要的两个jar包,包括dom4j-1.6.1.jar和jaxen-1.1-beta-6.jar

    SAXReader所需jar包.zip

    使用SAXReader所需jar包 dom4j-1.6.1.jar jaxen-1.1-beta-6.jar 已准备好

    Dom4j(SaxReader )开发详解

    Dom4j(SaxReader )开发详解,通过程序和步骤讲解,深入浅出的教你如何在项目中应用Dom4j

    looly#hutool-site#流方式读取Excel2003-Excel03SaxReader1

    介绍在标准的ExcelReader中,如果数据量较大,读取Excel会非常缓慢,并有可能造成内存溢出。因此针对大数据量的Excel,Hutool封装了event

    SAXreader需要的jar包.zip

    dom4j-2.1.3 jaxen-1.1.6用于解析xml的第三方jar包

    用SAXReader解析xml文档

    包括解析xml文档方法,使用方法的数据包,xml文档格式的介绍,java与xml的绑定等

    saxreader 解析 XML

    android移动开发需要解析XML。从tomcat下载得打数据,然后解析。

    使用dom4j.doc

    SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml")); 2.解析XML形式的文本,得到document对象. String text = "<members></members>"; Document document = ...

    sax解析util

    SAXReader reader = new SAXReader(); Document document = reader.read(conf); Element root = document.getRootElement(); Element chird = root.element(arg); if (chird != null) result = ...

    SAXReader.zip

    关于SAXReader解析的两个jar包

    day023-xml解析笔记和代码.rar

    SAXReader reader = new SAXReader(); 2.设置命名空间 reader.getDocumentFactory().setXPathNamespaceURIs(map); 3. SAXReader对象调用read方法,将当前XML文件,转换为Document对象 ...

    dom4j 使用简介 代码 程序

    // )(Z QXML,*B(Z_,+, XML (E public Document read(String fileName) throws ...SAXReader reader = new SAXReader(); Document document = reader.read(new File(fileName)); return document; }

    SAXReader用法.pdf

    。。。

    SAXReader用法.docx

    。。。

    Xml.zip_JAVA读取xml_XML读取_java_saxreader

    简单利用java读取xml中的标签,也是写xml

    解析XML特殊字符方法

    解析XML特殊字符方法有二种 XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符

    dom4j解析xml字符串

    // SAXReader reader = new SAXReader(); //User.hbm.xml表示你要解析的xml文档 // Document document = reader.read(new File("User.hbm.xml")); // 下面的是通过解析xml字符串的 doc = DocumentHelper....

    dom4j中XPath用法

    NULL 博文链接:https://wangweiwei358.iteye.com/blog/764548

    dom4-j1.6.1

    SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml")); 2.解析XML形式的文本,得到document对象. String text = "<members></members>"; Document document = ...

Global site tag (gtag.js) - Google Analytics