- 浏览: 581735 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
Mr_胡:
确实是jquery版本问题,用新版本的jquery没用
Eclipse 支持jQuery 自动提示 -
redcoatjk:
那遇到事务怎么办?事务是配置到service上.在Listen ...
Listener中取Spring容器中Bean的实例 -
dqd979231776:
+1我用遇到了这个问题,解决了好长时间
<input type="image"> 和 <img> 用法区别 -
李庆辉:
Listener中取Spring容器中Bean的实例 -
骑驴走天下:
膜拜大神,讲的清楚明白,今天正好遇到这个问题,本想用大神说的第 ...
Listener中取Spring容器中Bean的实例
虽然DOM4J 代表了完全独立的开发结果,但最初,它是JDOM 的一种智能分支。它合并了许多超出基本XML 文档表示的功能,包括集成的XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过 DOM4J API 和标准DOM 接口具有并行访问功能。从 2000 下半年开始,它就一直处于开发之中。 为支持所有这些功能,DOM4J 使用接口和抽象基本类方法。DOM4J 大量使用了API 中的 Collections 类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然 DOM4J 付出了更复杂的 API 的代价,但是它提供了比 JDOM 大得多的灵活性。
在添加灵活性、XPath 集成和对大文档处理的目标时,DOM4J 的目标与 JDOM 是一样的:针对 Java 开发者的易用性和直观操作。它还致力于成为比 JDOM 更完整的解决方案,实现在本质上处理所有 Java/XML 问题的目标。在完成该目标时,它比 JDOM 更少强调防止不正确的应用程序行为。
|
DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。
注意:
dom4j1.6解压后有一个dom4j-1.6.1.jar文件,这就是应用时需要引入的类包,另外还有一个jaxen-1.1-beta-6.jarr文件,一般也需要引入,否则执行时可能抛java.lang.NoClassDefFoundError: org/jaxen/JaxenException异常,其他的包可以选择用之。
|
import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class Dom4jDemo { public void createXML() { //用工厂类创建一个document实例 Document doc = DocumentHelper.createDocument(); //创建根元素emps Element rootEle = doc.addElement("emps"); //添加注释 rootEle.addComment("这是一个dom4j生成的xml文件"); //emps根节点下创建一个emp节点 Element empEle = rootEle.addElement("emp"); //emp添加属性id="1" empEle.addAttribute("id", "1"); //emp节点下创建一个name节点 Element nameEle = empEle.addElement("name"); //name节点下创建一个文本节点zhangsan nameEle.setText("zhangsan"); //再为name节点创建一个兄弟节点 Element sexEle = empEle.addElement("sex"); sexEle.setText("man"); //将document中的内容写入文件中 try { Writer out = new FileWriter("F:\\emps.xml"); //格式化输出,类型IE浏览一样 OutputFormat format = OutputFormat.createPrettyPrint(); //OutputFormat format = OutputFormat.createCompactFormat(); format.setEncoding("UTF-8"); //创建写出对象 XMLWriter writer = new XMLWriter(out,format); writer.write(doc); writer.close(); System.out.println("生成emps.xml成功。"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("失败了。"); } } public void updateXML(){ try { //创建读入对象 SAXReader reader = new SAXReader(); //创建document实例 Document doc = reader.read("F:\\emps.xml"); //查找节点emp下的id属性 List<Object> listAttr = doc.selectNodes("/emps/emp/@id"); Iterator<Object> itAttr = listAttr.iterator(); while(itAttr.hasNext()){ Attribute attr = (Attribute) itAttr.next(); //emp属性修改为001 attr.setValue("001"); } //查找emp下的name节点 List<Object> listText = doc.selectNodes("/emps/emp/name"); Iterator<Object> itText = listText.iterator(); while(itText.hasNext()){ Element textEle = (Element) itText.next(); //name节点的文本内容修改为"张三" textEle.setText("张三"); } //查找emp节点 List<Object> listEle = doc.selectNodes("/emps/emp"); Iterator<Object> itEle = listEle.iterator(); while(itEle.hasNext()){ Element empEle = (Element) itEle.next(); //查找emp下的sex节点 Iterator<Object> itSex = empEle.elementIterator("sex"); while(itSex.hasNext()){ Element sexEle = (Element) itSex.next(); //删除sex节点 empEle.remove(sexEle); } } //创建写出流 Writer out = new FileWriter("F:\\emps(update).xml"); // 格式化输出 OutputFormat format = OutputFormat.createPrettyPrint(); //OutputFormat format = OutputFormat.createCompactFormat(); format.setEncoding("UTF-8"); //创建写出对象 XMLWriter writer = new XMLWriter(out,format); writer.write(doc); writer.close(); System.out.println("生成emps(update).xml成功。"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { new Dom4jDemo().updateXML(); } }
发表评论
-
More than one fragment with the name [spring_web] was found.
2019-04-19 13:38 3617项目跑的好好的。突然之间报错,不能tomcat启动。 报 ... -
Linux(CentOS7)tomcat8启动报错
2018-04-26 08:57 1162服务器:Centos7 ,Tomcat8 ,JDK8 项目 ... -
java中Double数值的计算。
2011-12-21 17:31 22682double的计算不精确,会有类似0.000000000 ... -
java中连接池的原理,既常用的连接池有哪几种?
2011-05-16 08:46 3122java中数据库的连接是一个非常耗资源的动作,频繁的建立 ... -
Statement 和PreparedStatement的区别
2011-05-16 08:43 13841. Statement用于处理静态 SQL 语句, P ... -
java中的接口是什么?面向接口编程的好处?
2011-05-16 08:40 2042Java中的接口是一系列方法的声明,是一些方法特征的集 ... -
PrintWriter 类中println和write方法的区别
2011-05-10 08:32 2074问题:编写Socket聊天软件,使用PrintWriter类取 ... -
java class文件反编译---jad、jadclipse
2011-05-05 17:50 2537eclipse的java的class文件的反编译工具:jad ... -
Access restriction: The type SwingUtilities2 is not accessible due to restricti
2011-03-16 09:20 2193报错:Access restriction: The type ... -
java线程的sleep(),wait(),notify(),yield()方法的区别要点
2011-03-03 16:38 19211.sleep()使线程休眠一段时间,一段时间结束后,线程 ... -
java中的栈内存和堆内存
2010-12-15 17:37 1205Java把内存分成两种 ... -
Java泛型再学习
2010-09-30 15:20 1232泛型引入java语言已经有很长一段时间了,在JDK5出来的 ... -
读写properties 文件
2010-01-21 17:08 2375/** * 通用IO类。读取,写入properties文件 ... -
该文件不具有良好格式:DOCTYPE-ExternalID的名称既是SYSTEM又是PUBLIC!
2009-08-12 11:50 2595<?xml version="1.0" ... -
网站单例登录
2009-04-07 13:31 1968实现网站的单例登录: 1, 在用户表里增加一个判断登 ... -
log4j.log4j.properties大全
2009-03-19 06:59 1401log4j.rootLogger=DEBUG,CONSOLE, ... -
JSP指令元素简介
2009-01-14 16:30 1461指令元素(Directives ... -
时间处理类
2008-09-03 18:09 1255/** * 时间处理类 */ package org.bo ... -
java MD5 加密
2008-08-23 17:30 2040/** * java.security包中的MessageD ... -
自动得到汉语拼音
2008-08-23 17:27 1398import java.util.Iterator; impo ...
相关推荐
DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件
例题采用的是dom4j对xml的操作,包含了对xml的增加删除修改操作.
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
使用dom4j读取xml四种方法,希望对各位朋友有所帮助
该示例实现MAVEN来进行创建的,实现了dom4j操作XML文件,包括创建XML、动态创建XML节点、更新XML节点、删除XML节点。
dom4j解析xml文件代码示例 dom4j解析xml文件代码示例 dom4j解析xml文件代码示例
本教程是dom4j操作xml的增删改查的案例,当我们使用dom4j可以做基础性的参考
dom4j解析XML文件格式dom4j解析XML文件格式dom4j解析XML文件格式
本文件主要介绍我们怎么从dom4j中读取xml文件中的信息
Dom4j 操作 XML
使用dom4j对xml文档进行增删改. 查询就不用说了,使用elements(....)/element(...)/attributeValue()/getText()等方法
详细介绍了使用Dom4j进行xml文件的读取方法
Dom4j是一个开源的Java XML 解析处理工具,用来读写XML文件,它应用于Java平台,采用了Java集合框架并完全支持DOM, SAX和JAXP。具有性能优异、功能强大和极易使用的特点。可以作为解析XML文档析首先API。本文讲述了...
NULL 博文链接:https://navylee.iteye.com/blog/727103
XMLTest.java中创建XML和解析XML示例,另附dom4j资源包
java中dom4j读写XML(项目中含所需要的jar包)
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
利用dom4j--读取xml文件。 代码简洁易懂。
完整的讲解一个dom4j对xml的增删改查
NULL 博文链接:https://sxpujs.iteye.com/blog/375485