- 浏览: 52295 次
- 性别:
- 来自: 南京
最新评论
-
qqggcc:
没有这么麻烦吧
我觉得POI大数据量的时候回出点问题
JX ...
使用 poi 和fastExcel 包读取excel 表格文件 -
bjt100:
很好,刚好派用着。
使用 poi 和fastExcel 包读取excel 表格文件 -
tommy402gongxue:
POI的real方法中:
修改为
if (mycell.get ...
使用 poi 和fastExcel 包读取excel 表格文件 -
tommy402gongxue:
这个存在很严重的bug,一个内容独占了几个单元格的时候,你会输 ...
使用 poi 和fastExcel 包读取excel 表格文件 -
風一樣的男子:
我一般用jxl
使用 poi 和fastExcel 包读取excel 表格文件
最近使用 dom4j包来操作了xml 文件,具体有 search, add, modi,del 操作,下面将一个 javaBean 展示出来给大伙看看。
package com.jim.beans; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class DepartmentBean { private String ID; //主键,没有任何意义 private String bh; //部门编号 private String name; //部门名称 private String tel; //部门电话 private String address; //部门地址 private File file; //要读取的 xml文件 public DepartmentBean() { } public DepartmentBean(File file) { this.file = file; } public DepartmentBean(String id, String bh, String name, String tel, String address) { ID = id; this.bh = bh; this.name = name; this.tel = tel; this.address = address; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getBh() { return bh; } public void setBh(String bh) { this.bh = bh; } public String getID() { return ID; } public void setID(String id) { ID = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } //查询若干个部门 支持模糊查询 public ArrayList search(String attrName,String attrValue) throws DocumentException { ArrayList al = new ArrayList(); List list = null; //File f = new File("d:\\department.xml"); //把要解析的xml文件包装成File类型 SAXReader saxReader = new SAXReader(); //加载XML文档 saxReader.setEncoding("UTF-8"); Document document = saxReader.read(this.file); /* 采用了 dom4j 支持 xPath 这个用法 */ if((attrName == null || attrName.trim().equals("")) ||(attrValue == null || attrValue.trim().equals(""))) { list = document.selectNodes("/departments/department"); }else { //[注]: 下面这句采用的是 精确查询 等效于 某个属性=值 //list = document.selectNodes("/departments/department[@"+attrName+"='"+attrValue+"']"); //[注]: 下面这句采用的是 模糊查询 等效于 某个属性 like %值% list = document.selectNodes("/departments/department[contains(@"+attrName+",'" + attrValue + "')]"); } Iterator iterator = list.iterator(); DepartmentBean departmentBean = null; while(iterator.hasNext()) { Element element = (Element)iterator.next(); departmentBean = new DepartmentBean(); departmentBean.setID(element.attributeValue("id")); departmentBean.setBh(element.attributeValue("bh")); departmentBean.setName(element.attributeValue("name")); departmentBean.setTel(element.attributeValue("tel")); departmentBean.setAddress(element.attributeValue("address")); al.add(departmentBean); } return al; } //查询某个部门 public DepartmentBean getDepartment(String attrName,String attrValue) throws DocumentException { ArrayList al = search(attrName,attrValue); if(al != null && al.size() > 0) { return (DepartmentBean)al.get(0); }else { return null; } } //添加部门 public void add(DepartmentBean newDepartmentBean) throws DocumentException, IOException { Document document = DocumentHelper.createDocument(); //创建根节点,并返回要节点 Element departmentsElement = document.addElement("departments"); departmentsElement.addComment("所有的部门信息"); //向根节点departments中加入department子节点 Element departmentElement = null; departmentElement = departmentsElement.addElement("department"); departmentElement.addAttribute("id",newDepartmentBean.getID()); departmentElement.addAttribute("bh",newDepartmentBean.getBh()); departmentElement.addAttribute("name",newDepartmentBean.getName()); departmentElement.addAttribute("tel",newDepartmentBean.getTel()); departmentElement.addAttribute("address",newDepartmentBean.getAddress()); //File f = new File("d:\\department.xml"); //把要解析的xml文件包装成File类型 SAXReader saxReader = new SAXReader(); //加载XML文档 saxReader.setEncoding("UTF-8"); Document documentRead = saxReader.read(this.file); List list = documentRead.selectNodes("/departments/department"); Iterator iterator = list.iterator(); while(iterator.hasNext()) { departmentElement = departmentsElement.addElement("department"); Element element = (Element)iterator.next(); Attribute attrID = element.attribute("id"); departmentElement.addAttribute("id",attrID.getValue()); Attribute attrBh = element.attribute("bh"); departmentElement.addAttribute("bh",attrBh.getValue()); Attribute attrName = element.attribute("name"); departmentElement.addAttribute("name",attrName.getValue()); Attribute attrTel = element.attribute("tel"); departmentElement.addAttribute("tel",attrTel.getValue()); Attribute attrAddress = element.attribute("address"); departmentElement.addAttribute("address",attrAddress.getValue()); } //把修改后document写到原有的department.xml文件,以覆盖原有的department.xml文件 XMLWriter output = new XMLWriter(new OutputStreamWriter(new FileOutputStream(this.file),"UTF-8")); output.write(document); output.close(); } //编辑部门 public void edit(String attrName,String attrValue,DepartmentBean newDepartmentBean) throws DocumentException, IOException { //File f = new File("d:\\department.xml"); //把要解析的xml文件包装成File类型 SAXReader saxReader = new SAXReader(); //加载XML文档 saxReader.setEncoding("UTF-8"); Document document = saxReader.read(this.file); List list = null; Iterator iterator = null; if((attrName == null || attrName.trim().equals("")) ||(attrValue == null || attrValue.trim().equals(""))) { //如果设置的修改条件为 null ,则什么也不做 return ; }else { list = document.selectNodes("/departments/department[@"+attrName+"='"+attrValue+"']"); } if(list == null || list.size() == 0) { //如果设置的修改条件没有符合的记录,则什么也不做 return ; }else { iterator = list.iterator(); while(iterator.hasNext()) { Element e = (Element) iterator.next(); Attribute attrB = e.attribute("bh"); attrB.setValue(newDepartmentBean.getBh()); Attribute attrN = e.attribute("name"); attrN.setValue(newDepartmentBean.getName()); Attribute attrT = e.attribute("tel"); attrT.setValue(newDepartmentBean.getTel()); Attribute attrA = e.attribute("address"); attrA.setValue(newDepartmentBean.getAddress()); } } //把修改后document写到原有的department.xml文件,以覆盖原有的department.xml文件 XMLWriter output = new XMLWriter(new OutputStreamWriter(new FileOutputStream(this.file),"UTF-8")); output.write(document); output.close(); } //删除部门 public void del(String attrName,String attrValue) throws DocumentException, IOException { //File f = new File("d:\\department.xml"); //把要解析的xml文件包装成File类型 SAXReader saxReader = new SAXReader(); //加载XML文档 saxReader.setEncoding("UTF-8"); Document documentRead = saxReader.read(this.file); Document documentWrite = null; List list = null; if((attrName == null || attrName.trim().equals("")) ||(attrValue == null || attrValue.trim().equals(""))) { //如果设置的修改条件为 null ,则什么也不做 return ; }else { list = documentRead.selectNodes("/departments/department[@"+attrName+"!='"+attrValue+"']"); } documentWrite = DocumentHelper.createDocument(); Element departmentsElement = documentWrite.addElement("departments"); departmentsElement.addComment("所有的部门信息"); if(list == null || list.size() == 0) { //如果是全删除了,则什么也不做 //把修改后document写到原有的department.xml文件,以覆盖原有的department.xml文件 XMLWriter output = new XMLWriter(new OutputStreamWriter(new FileOutputStream(this.file),"UTF-8")); output.write(documentWrite); output.close(); return ; }else { //向根节点departments中加入department子节点 Element departmentElement = null; Iterator iterator = list.iterator(); while(iterator.hasNext()) { departmentElement = departmentsElement.addElement("department"); Element element = (Element)iterator.next(); Attribute attrID = element.attribute("id"); departmentElement.addAttribute("id",attrID.getValue()); Attribute attrBh = element.attribute("bh"); departmentElement.addAttribute("bh",attrBh.getValue()); Attribute attrName2 = element.attribute("name"); departmentElement.addAttribute("name",attrName2.getValue()); Attribute attrTel = element.attribute("tel"); departmentElement.addAttribute("tel",attrTel.getValue()); Attribute attrAddress = element.attribute("address"); departmentElement.addAttribute("address",attrAddress.getValue()); } //把修改后document写到原有的department.xml文件,以覆盖原有的department.xml文件 XMLWriter output = new XMLWriter(new OutputStreamWriter(new FileOutputStream(this.file),"UTF-8")); output.write(documentWrite); output.close(); } } //得到 xml 文件中最大的主键值 + 1 public int getMaxID() throws DocumentException { SAXReader saxReader = new SAXReader(); //加载XML文档 saxReader.setEncoding("UTF-8"); Document document = saxReader.read(this.file); List list = document.selectNodes("/departments/department"); Iterator iterator = null; int max = 0; if(list == null || list.size() == 0) { max = 0; }else { iterator = list.iterator(); while(iterator.hasNext()) { Element element = (Element)iterator.next(); String maxStr = element.attributeValue("id"); int maxInt = Integer.parseInt(maxStr); if(maxInt > max) { max = maxInt; } } } return max + 1; } public static void main(String[] args) throws DocumentException, IOException { File f = new File("d:\\department.xml"); DepartmentBean db = new DepartmentBean(f); System.out.println(db.getMaxID()); //大家可以在这里写一些调用上面的 search ,add , del , edit 方法代码来测试测试,department.xml 文件在附件中已上传了此外还要要到两个特殊的包一个名叫jaxen-1.1.1.jar,还有一个叫dom4j-1.6.1.jar大家可以自己下载 } }
- department.rar (344 Bytes)
- 下载次数: 82
发表评论
-
其实可以这样做
2009-04-08 23:02 922在之前的公司,利用eclipse做开发总是喜欢把项目发布到to ... -
利用JAVA写一段上传文件程序(模拟Ftp客户端)
2009-03-04 15:34 3162package com.hellojim.beans; im ... -
使用 poi 包生成(向.xls表格中写入)excel 表格文件
2009-02-02 17:49 3936package com.jim.tools; import ... -
使用 poi 和fastExcel 包读取excel 表格文件
2009-01-20 16:41 1827今年做了一些项目,其 ... -
话说JAVA中成员访问控制
2009-01-17 18:07 1890JAVA中成员访问控制有四种类型,从不开放 到 开放,分别为 ... -
子类与父类之间的转换
2009-01-07 16:46 2726class A { public void fun1() ... -
abstract、 interface 关键字
2009-01-07 16:41 1399//abstract interface 关键字 /* int ... -
extends,this,super,final 关键字的应用
2009-01-07 16:39 1006//extends,this,super,final 关键字的 ... -
内部类
2009-01-06 13:20 862class Outer { private String u ... -
使用javadoc工具生成类似 jdk API 形式的文档
2009-01-05 21:04 2192/** * Title: User 类<br> ... -
finalize 关键字和 System.gc() 的作用
2009-01-02 17:11 3158//此类说明了 finalize 关键字以及 System.g ... -
this 关键字的作用
2009-01-02 16:42 1446//此类说明了 this 关键字的作用 /* 1.用在构造方 ... -
public 与 private 关键字的区别
2009-01-02 16:24 1454//此类说明了 private 与 public 关键字的作用 ... -
path与classpath区别
2008-12-26 16:22 2006对于初学java 的人来说,可能在 path 与 classp ... -
关于 org.apache.xml.utils.WrappedRuntimeException
2008-03-13 18:09 1881今天下午把原有工程的一段运行良好的代码 copy 到一个新工程 ... -
关于一个 send E-mail 问题
2007-12-09 13:46 1213package com.oa.modules.personne ... -
关于一些 IO Class
2007-12-04 22:49 983这段时间一直在看 java 关于IO流处理这处,所汲及到的类有 ...
相关推荐
DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器修改。与W3C DOM API相比,使用dom4j所包含的...
该示例实现MAVEN来进行创建的,实现了dom4j操作XML文件,包括创建XML、动态创建XML节点、更新XML节点、删除XML节点。
Dom4j是一个开源的Java XML 解析处理工具,用来读写XML文件,它应用于Java平台,采用了Java集合框架并完全支持DOM, SAX和JAXP。具有性能优异、功能强大和极易使用的特点。可以作为解析XML文档析首先API。本文讲述了...
dom4j解析XML文件格式dom4j解析XML文件格式dom4j解析XML文件格式
dom4j递归解释xml文件,装用动态bean(Map)
Java使用sax、dom、dom4j解析xml文档的代码,包含dom4j的jar包。
Dom 4j 格式化xml补充Dom 4j 格式化xml补充Dom 4j 格式化xml补充
使用dom4j进行解析XML,通过文档助手创建文档节点。向文档节点中添加根元素节点, 向根元素节点上添加子节点
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
分别使用DOM和DOM4j解析XML文件,因为目前使用最广泛的是DOM4j所以只写了用DOM4j对XML进行增删改查。
dom4j解析xml文件代码示例 dom4j解析xml文件代码示例 dom4j解析xml文件代码示例
使用Dom4j解析复杂的XML文件,简单的xml文件一个标签对,而复杂的xml文件标签对中还有自己的属性,那么这样的xml文件怎么解析呢?看了我的例子就知道了......
详细介绍了使用Dom4j进行xml文件的读取方法
使用dom4j 和本地dom 解析xml 文件
dom4j解析xml文件的压缩包,完整版。对jdom进行了封装。包含源码,jar包以及所需的全部内容。
使用dom4j修改xml文档中的内容(最简单的 ) 配置文件格式是: <?xml version="1.0" encoding="UTF-8"?> <userName>zhangsan0 <pwd>zhangsan1 <sex>man <email>zhangsan0@163.com</email> 最简单的 配置...