- 浏览: 249960 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 927看了一下Mybatis3,很简洁,不错,符合一贯的原则。 -
断网情况下主机系统与VMWare虚拟系统建立网络连接
2011-03-07 13:52 1632电脑不插网线设置主机系统与VMWare中linux系统 ... -
Oracle 9i10g编程艺术
2010-12-08 23:41 1027Oracle 9i10g编程艺术 -
SWT And JFace
2010-12-01 21:29 833The_Definitive_Guide_to_SWT_and ... -
SWT 定时器 update UI
2010-11-30 17:00 1813SWT如果涉及到线程中的数据互访,在一个线程中的触发事性中再去 ... -
Log4j XML 配置方式
2010-11-14 13:00 1508Log4j xml 配置文件log4j.xml[默认读取的文件 ... -
ThreadPool 线程池的使用
2010-10-20 21:41 7447import java.util.concurrent.B ... -
Java 大文件读取排序
2010-09-30 00:34 8229需求: csv文件中存在千万级数据,需要按照某一列进行排序 比 ... -
Oracle
2010-05-29 22:26 2457最近很有兴趣研究Oracle,今天把Oracle10g ... -
JArgp Command Line Argument Processor
2010-05-12 21:02 861http://sourceforge.net/projects ... -
Java 反射与内省
2009-09-27 22:52 3392一、java反射机制 JAVA反 ... -
分页工具类Page
2009-09-26 16:10 5789public class Page { public ... -
Javamail 详解
2009-07-21 22:17 2748最近研究JBPM的mail node节点,使用时老是发不出邮件 ... -
proxool数据连接池总结
2009-07-10 21:41 14646数据库连接池总结----Proxool 1、所需jar包: ... -
通过url下载文件HttpURLConnection
2009-07-08 15:48 17217import java.io.*; import jav ... -
web.xml配置五个有用的过滤器
2009-07-01 14:34 2957一、使浏览器不缓存页面的过滤器 Java代码 im ... -
Tomcat 配置JNDI数据源总结
2009-04-24 09:41 2007JNDI是J2EE中一个很重要的标准,通常我们是在J2EE编程 ... -
关于web.xml中的load-on-startup作用
2009-04-19 11:51 2922load-on-startup 元素在web应用启动的时候指定 ... -
Struts2学习笔记
2009-04-18 09:55 1342包括下面内容: 一、Struts2简介.doc 二、Stru ... -
使用模板方法设计模式、策略模式 处理DAO中的增删改查
2009-03-11 00:10 3930摸板方法(Template Me ...
相关推荐
dom4j dom4j dom4j dom4j dom4j dom4j
赠送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文档-...
赠送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 jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用
JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源...
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
Dom4j_使用简介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 ...
dom4j-1.6.1.zip与 dom4j-2.0.0-ALPHA-2.jar
maven dom4j 1.6.1安装包
dom4j常用方法 i.SAXReader sr = new SAXReader(); 生成解析器对象 ii.解析器对象.read(file对象); 解析文件生成Document对象 iii.文档对象.getRootElement() 获取跟元素节点 iv.元素节点.elements() 获取到指定...
dom4j帮助文档 官方API All Classes Packages org.dom4j org.dom4j.bean org.dom4j.datatype org.dom4j.dom org.dom4j.dtd org.dom4j.io org.dom4j.jaxb org.dom4j.rule org.dom4j.rule.pattern org.dom...
dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口
org.dom4j.io Provides input and output via SAX and DOM together with writing dom4j objects to streams as XML text. org.dom4j.jaxb org.dom4j.rule A Pattern based XML rule engine which implements the ...
dom4j技术教程,dom4j是一个很好的解析xml文档的框架
dom4j,用来处理xml
这个压缩包是一个关于DOM4J的压缩包,里面包含了DOM4J的帮助文档,DOM4J的使用教程,以及DOM4J这个JAVA包。保证这个压缩包是网上面最全的有关DOM4J的文档。
Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包
介绍DOM4J的主要接口的使用方法,Elementorg.dom4j.Attribute : Attribute接口定义了XML文件的属性 org.dom4j.Branch:Branch为能够包含子节点的节点如XML元素和文档定义了一个公共为 org.dom4j.CDATA : CDATA定义了...
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
Dom4j是一个简单、灵活的开放源代码的库。Dom4j是由早期开发JDOM的人分离出来而后独立开发的。与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j的API相对要复杂一些,但它提供了比JDOM更好的灵活性。 Dom4j是一...