- 浏览: 254401 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
pshaoyi:
连接创建没问题,在执行的时候就报错了。Caused by: c ...
jdbc连接池简单封装 -
imbangbang:
中文乱码,没有解决掉
Java实现Zip压缩与解压(解决中文乱码问题) -
chjy1983:
麻烦也发份给我,chl_82@126.com,谢谢!
Java实现Zip压缩与解压(解决中文乱码问题) -
jidacwj:
楼主写的这个有问题呀首先,多线程分割文件第45行,我尝试打印每 ...
Java 大文件读取排序 -
www6wzk:
非常好的学习例子,十分感谢!
Jbpm工作流实例—报销申请
DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义:
Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.
Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
DOM4J使用起来非常简单。只要你了解基本的XML-DOM模型,就能使用。
看了基本的API 自己写了个工具类:
Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.
Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
DOM4J使用起来非常简单。只要你了解基本的XML-DOM模型,就能使用。
看了基本的API 自己写了个工具类:
import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class XmlUtil { Document document = null; /** * 构造函数中通过文件名生成文档对象 * @param fileName */ public XmlUtil(String fileName) { SAXReader saxReader = new SAXReader(); try { this.document = saxReader.read(new File(fileName)); } catch (DocumentException e) { System.out.println("初始化文档对象失败.............."); e.printStackTrace(); } } /** * 构造函数中通过文件生成文档对象 * @param file */ public XmlUtil(File file) { SAXReader saxReader = new SAXReader(); try { this.document = saxReader.read(file); } catch (DocumentException e) { System.out.println("初始化文档对象失败.............."); e.printStackTrace(); } } /** * 构造函数中通过输入流获取文档对象 * @param fis */ public XmlUtil(FileInputStream fis) { SAXReader saxReader = new SAXReader(); try { this.document = saxReader.read(fis); } catch (DocumentException e) { System.out.println("初始化文档对象失败.............."); e.printStackTrace(); } } /** * 获取根节点 * @param document * @return */ public Element getRootElement() { Element element = document.getRootElement(); return element; } /** * 获取一个节点下的所有子节点 * @param parentElement * @return */ public List<Element> getChildElements(Element parentElement) { List<Element> childElements = new ArrayList<Element>(); Iterator<Element> iter = parentElement.elementIterator(); while (iter.hasNext()) { childElements.add(iter.next()); } return childElements; } /** * 获取一个节点下名称为elementName的节点集合 * @param parentElement * @param elementName * @return */ public List<Element> getChildElements(Element parentElement, String elementName) { List<Element> childElements = new ArrayList<Element>(); Iterator<Element> iter = parentElement.elementIterator(); while (iter.hasNext()) { childElements.add(iter.next()); } return childElements; } /** * 获取一个节点的所有属性 * @param element * @return */ public Map<String, String> getAttributes(Element element) { Map<String, String> attributes = new HashMap<String, String>(); Iterator<Attribute> iter = element.attributeIterator(); while (iter.hasNext()) { Attribute attribute = iter.next(); attributes.put(attribute.getName(), attribute.getStringValue()); } return attributes; } /** * 递归遍历所有子节点 不包括text内容 * @param element * @param elements */ public void treeWalk(Element element, List<Node> elements) { for (int i = 0; i < element.nodeCount(); i++) { Node node = element.node(i); if (node instanceof Element) { elements.add(node); treeWalk((Element) node, elements); } } } /** * 根据xpath查找Nodes * @param xPath * @return */ public List<Node> selectNodes(String xPath) { List<Node> nodes = new ArrayList<Node>(); nodes = document.selectNodes(xPath); return nodes; } /** * 查找所有超链接 * @param document * @throws DocumentException */ public List<String> findLinks(Document document) throws DocumentException { List<String> links = new ArrayList<String>(); Iterator<Node> iter = document.selectNodes("//a/@href").iterator(); while (iter.hasNext()) { links.add(iter.next().getStringValue()); } return links; } /** * 定义一个XML文档对象 * @return */ public static Document createDocument() { Document document = DocumentHelper.createDocument(); return document; } /** * 从xml字符串生成文档对象 * @param str * @return * @throws DocumentException */ public static Document str2Xml(String str) throws DocumentException { Document document = DocumentHelper.parseText(str); return document; } /** * 从文档对象转换成str * @param document * @return */ public static String xml2Str(Document document) { String str = document.asXML(); return str; } /** * 生成xml文件 * 美化格式 * @param document 文档对象 * @param filePath 存放路径 * @param encoding 编码格式 */ public static void writeXml(Document document, String output, String encoding) { try { OutputFormat format = OutputFormat.createPrettyPrint(); if(encoding==null) { format.setEncoding("UTF-8"); } else { format.setEncoding(encoding); } XMLWriter writer = new XMLWriter(new FileWriter(output), format ); writer.write(document); writer.close(); } catch (Exception e) { System.out.println("生成xml文件失败.........."); e.printStackTrace(); } } /** * 生成xml文件 * 压缩格式 * @param document 文档对象 * @param filePath 存放路径 * @param encoding 编码格式 */ public static void writeCompactXml(Document document, String output, String encoding) { try { OutputFormat format = OutputFormat.createCompactFormat(); if(encoding==null) { format.setEncoding("UTF-8"); } else { format.setEncoding(encoding); } XMLWriter writer = new XMLWriter(new FileWriter(output),format); writer.write(document); writer.close(); } catch (Exception e) { System.out.println("生成xml文件失败.........."); e.printStackTrace(); } } }
发表评论
-
Mybatis3
2012-01-08 15:07 986看了一下Mybatis3,很简洁,不错,符合一贯的原则。 -
断网情况下主机系统与VMWare虚拟系统建立网络连接
2011-03-07 13:52 1679电脑不插网线设置主机系统与VMWare中linux系统 ... -
Oracle 9i10g编程艺术
2010-12-08 23:41 1074Oracle 9i10g编程艺术 -
SWT And JFace
2010-12-01 21:29 887The_Definitive_Guide_to_SWT_and ... -
SWT 定时器 update UI
2010-11-30 17:00 1869SWT如果涉及到线程中的数据互访,在一个线程中的触发事性中再去 ... -
Log4j XML 配置方式
2010-11-14 13:00 1553Log4j xml 配置文件log4j.xml[默认读取的文件 ... -
ThreadPool 线程池的使用
2010-10-20 21:41 7496import java.util.concurrent.B ... -
Java 大文件读取排序
2010-09-30 00:34 8278需求: csv文件中存在千万级数据,需要按照某一列进行排序 比 ... -
Oracle
2010-05-29 22:26 2515最近很有兴趣研究Oracle,今天把Oracle10g ... -
JArgp Command Line Argument Processor
2010-05-12 21:02 897http://sourceforge.net/projects ... -
Java 反射与内省
2009-09-27 22:52 3466一、java反射机制 JAVA反 ... -
分页工具类Page
2009-09-26 16:10 5821public class Page { public ... -
Javamail 详解
2009-07-21 22:17 2831最近研究JBPM的mail node节点,使用时老是发不出邮件 ... -
proxool数据连接池总结
2009-07-10 21:41 14722数据库连接池总结----Proxool 1、所需jar包: ... -
通过url下载文件HttpURLConnection
2009-07-08 15:48 17264import java.io.*; import jav ... -
web.xml配置五个有用的过滤器
2009-07-01 14:34 3031一、使浏览器不缓存页面的过滤器 Java代码 im ... -
Tomcat 配置JNDI数据源总结
2009-04-24 09:41 2043JNDI是J2EE中一个很重要的标准,通常我们是在J2EE编程 ... -
关于web.xml中的load-on-startup作用
2009-04-19 11:51 2955load-on-startup 元素在web应用启动的时候指定 ... -
Struts2学习笔记
2009-04-18 09:55 1376包括下面内容: 一、Struts2简介.doc 二、Stru ... -
使用模板方法设计模式、策略模式 处理DAO中的增删改查
2009-03-11 00:10 4026摸板方法(Template Me ...
相关推荐
在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单易行。在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、查询和修改变得更为简单。在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、修改和查询变得简单。这次我们有两个版本的DOM4J库:1.6.1和2.0.0-ALPHA。这两个版本在功能、性能和API设计上都有所...
标题提及的"dom4j_1.6.1.jar"和"dom4j_2.1.0.jar"是两个不同版本的DOM4J库的Java档案文件,DOM4J是一个非常流行的Java XML API,用于处理XML文档。这两个版本的差异在于功能、性能优化和可能存在的bug修复。描述中...
赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的API,使得开发者可以方便地读取、写入、修改以及操作XML文件。DOM4J 1.6.1是这个库的一个稳定版本,发布于较早时期,但依然广泛应用于许多Java...
另一份重要的资源是"dom4j-2.1.3-sources.jar",它提供了DOM4J库的源代码,允许开发者深入研究DOM4J的内部实现,对于理解DOM4J的工作原理、进行扩展或者调试都是不可或缺的。通过阅读源代码,开发者可以学习到如何...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于“Document Object Model for Java”,但它并不仅仅是一个DOM实现,它还包含...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于“Document Object Model for Java”,它采用面向对象的设计思想,提供了...
《深入解析DOM4J——基于Java的XML处理框架》 DOM4J,作为一个强大的Java XML API,是处理XML文档的主流工具之一。它提供了一套简单而高效的方式来操作XML文档,包括读取、写入、修改和遍历XML结构。在Java开发中,...
赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...
DOM4J是一个强大的Java库,专门用于处理XML文档。它是一个灵活且高性能的XML解析器,提供了丰富的API来创建、修改和操作XML数据。在Java应用程序中,DOM4J作为一个流行的选择,尤其在处理复杂的XML结构时,因为它...
标题提到的"所有版本的dom4j工具包"表明这是一个包含多版本DOM4J库的集合,可能包括了从早期到较新的一些版本,如dom4j-1.4.jar、dom4j-1.6.1.jar和dom4j-1.5.2.jar。这些不同版本的库可能分别对应于不同的功能特性...
DOM4J 2.1.1 是一个针对Java平台的高效、开源的XML处理库,其全称为“Document Object Model for Java”。这个库提供了一系列强大的API,使得开发人员能够轻松地解析、创建、修改和操作XML文档。XML(eXtensible ...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的方式来解析、创建、操作和理解XML数据。这个库在Java开发中广泛使用,因为它提供了比标准Java DOM API更简单、性能更好的XML处理方式。以下是...
当我们遇到“java.lang.ClassNotFoundException: org.dom4j.DocumentException”的错误提示时,这通常意味着系统中缺少了DOM4j库,只需将“org.dom4j.jar”添加到项目类路径中即可解决此问题。 DOM4J是基于DOM和SAX...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得在Java应用程序中解析、创建、修改和操作XML文档变得容易。DOM4J因其易用性和丰富的功能集,在Java社区中广受欢迎,尤其在处理大型...
DOM4J 的使用 DOM4J 是一个开源的 XML 解析包,由 dom4j.org 出品,应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM、SAX 和 JAXP。DOM4J 的主要特点是使用大量的接口,所有主要接口都在 org.dom4j 里面定义...