Java读写xml文件的一些经验(使用dom4j)

说来惭愧,给很多人说过怎么用Java读写xml,但是自己上手做的很少。这篇博客里面简单总结一下。

据网上很多文章介绍,dom4j是一种常用的xml读写API。不过用的时候首先要注意第一个问题:如果在Bing.com里搜索dom4j,排在第一名的是:http://www.dom4j.org/ 很遗憾,这个域名和dom4j没有任何关系,其在Sourceforge上的主页是:http://sourceforge.net/projects/dom4j/ ,我这里下载的是稳定版,将dom4j-1.6.1.jar加入项目的Java
Build Path中,我们就可以使用dom4j了。

由于网上dom4j的教程很多,我这里只贴上我自己的代码:

public static void ReadandWritexml(String testCaseName){
        XMLWriter writer = null;
        SAXReader reader = new SAXReader();
        OutputFormat format = OutputFormat.createPrettyPrint();

        String filePath = "build.xml";
        File file = new File(filePath);
        try {
            Document document=reader.read(file);
            Element root=document.getRootElement();
            for(Iterator i=root.elementIterator("target");i.hasNext();){
                Element target = (Element) i.next();
                if(target.attributeValue("name").equals("test2")){
                    System.out.println(target);
                    Iterator j=target.elementIterator("junit");
                    Element junit = (Element) j.next();
                    Iterator k=junit.elementIterator("test");
                    Element test = (Element) k.next();
                    test.setAttributeValue("name", testCaseName);
                }
            }
            try {
                writer=new XMLWriter(new FileWriter(filePath),format);
                writer.write(document);
                writer.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

对应的build.xml文件如下:

<target name="test2" depends="compile-main">
  <mkdir dir="test-results-2"/>
  <junit printsummary="on" errorProperty="test.failed" failureProperty="test.failed" fork="true" showoutput="true" haltonfailure="yes">
    <formatter type="plain"/>
    <formatter type="xml"/>
    <jvmarg value="-XX:-UseSplitVerifier"/>
    <classpath refid="test.classpath"/>
    <syspropertyset refid="junit.properties"/>
    <jvmarg value="${poi.test.locale}"/>
    <jvmarg value="-ea"/>
    <jvmarg value="-Xms512m"/>
    <jvmarg value="-Xmx512m"/>
    <jvmarg value="-XX:-UseGCOverheadLimit"/>
    <jvmarg value="-XX:+UseConcMarkSweepGC"/>
    <jvmarg value="-javaagent:lib/aspectjweaver-1.6.11.jar"/>
    <test todir="test-results-2" name="org.apache.poi.ddf.TestEscherBlipRecord"/>
  </junit>
  <junitreport>
    <fileset dir="test-results-2" includes="*.xml"/>
    <report todir="test-results-2"/>
  </junitreport>
  <fail message="Tests failed!" if="test.failed"/>
</target>
时间: 2024-10-07 13:35:05

Java读写xml文件的一些经验(使用dom4j)的相关文章

java读写xml文件

要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册><学生 性别 = "男"><姓名>李华</姓名><年龄>14</年龄></学生><学生 性别 = "男"><姓名>张三</姓名><年龄>16</年龄> </学

java对XML文件的相关操作(dom4j)

1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <Person university="SCAU" location="GuangZhou"> 4 <student> 5 <name>tester1</name> 6 </student> 7 <student> 8 <name/>teste

使用dom4j 读写xml文件

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件. String fileName="D:\\version.xml"; File inputXML=new File(fileName); //使用 SAXReader 解析 XML 文档 version.xml SAXReader saxReader=new SAXReader();

JAXB方式读写XML文件

import java.io.File; import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXB; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import cn.com.starit.ts.nms.collec

Java读写资源文件类Properties

Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置. 注    释:前面加上#号 属性配置:以“键=值”的方式书写一个属性的配置信息. 3.properties文件的一个属性配置信息值可以换行,但键不可以换行.值换行用“\”表示. 4.properties的属性配置键值前后的空格在解析时候会被忽略. 5.properties文件可以只有键而没有值.也可以仅

Java解析XML文件的四种方法

[摘要] 可扩展标志语言(XML)在实现信息标准化.信息的交流与共享上有其独特的技术优势,因此受到了广泛的重视.本文先简单的介绍了XML基本知识,然后从XML应用入手总结了四种现今最常见的XML的解析方法,介绍了这四种方法的特点,其中包括优点与不足之处.最后给出了一个简单的案例来对这四种解析进行代码介绍. [关键字] XML文件,DOM,SAX,JDOM,DOM4J [引言] XML即可扩展标记语言(EXtensible Markup Language),是标准通用标记语言的子集,是一种用于标记

java解析xml文件四种方式介绍、性能比较和基本使用方法

一.介绍: 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不

C#读写xml文件

c#读写xml文件已知有一个XML文件(bookstore.xml)如下: Code<?xml version="1.0" encoding="gb2312"?><bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets,

java读XML文件

XML文件设计为传输和存储数据,其焦点为数据内容. HTML设计为用来显示数据, 其焦点为数据外观. XML仅仅是文本文件,任何文本编辑器一般情况下都能对其进行编辑. XML没有预定义的标签,并且设定的标签是大小写敏感的. 标签还必须: 必须有根元素 属性值需要加引号 空格等会被保留 必须关闭标签 JAVA读取XML文件 1,language.xml文件内容为: <?xml version="1.0" encoding = "UTF-8" ?> <