开发过程中,操作xml文件是很常见的,虽然Java API中提供了很多操作XML文件的的帮助类,我比较喜欢的是用Dom4j操作,在此分享下。
首先我们得下载dom4j.jar包,如需要下载,可到文章下面的附件中下载
首先介绍下如何创建一个xml文件,贴上我的代码,上面都有详细的注释
package test.xml.dom4j;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Test1 {
public static void main(String[] args) throws IOException {
//创建docment对象
//Document doc=DocumentHelper.createDocument();
//创建document根元素
//Element root=DocumentHelper.createElement("student");
//将根元素添加到根节点上去
//doc.setRootElement(root);
//第二种方式
Element root1=DocumentHelper.createElement("persons");
Document doc1=DocumentHelper.createDocument(root1);
Element student1=null;
for(int i=0;i<10;i++){
student1=root1.addElement("person");
student1.addAttribute("id","s00"+i);
//addElement返回原操作的元素
student1.addElement("name").setText("张三"+i);
}
//输出文档到控制台
XMLWriter xmlwriter=new XMLWriter();
xmlwriter.write(doc1);
//输出文档到指定路径(默认的格式)
OutputStream os=new FileOutputStream("Doc/person.xml");
XMLWriter xw=new XMLWriter(os);
xw.write(doc1);
//输出文档(自定义格式)
OutputStream os1=new FileOutputStream("Doc/person.xml");
//换行显示,并且缩进两个空格
OutputFormat format1=new OutputFormat(" ",true);
XMLWriter xw1=new XMLWriter(os1,format1);
xw1.write(doc1);
xw1.close();
}
}
读取xml文件
package test.xml.dom4j;
import java.io.FileInputStream;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test2 {
public static void main(String[] args) throws Exception {
//构建saxreader对象
SAXReader sr=new SAXReader();
//获得项目路径下的student.xml
String path=System.getProperty("user.dir")+"/Doc/student.xml";
System.out.println("path----"+path);
Document doc=sr.read(new FileInputStream(path));
//获得xml文件的根节点
Element root=doc.getRootElement();
//获得根节点的名字
System.out.println(root.getName());
//获得student元素的集合
List<Element> list=root.elements("student");
System.out.println(list.size());
//遍历student节点的集合
Iterator<Element> it=list.iterator();
while(it.hasNext())
{
//获得每一个student的节点
Element e=(Element)it.next();
//获得student的id属性
System.out.println(e.attributeValue("id"));
//获得每个student元素的name子节点
e=e.element("name");
//取得name节点的值
System.out.println(e.getData());
}
}
}
也就这么多,有什么不明白的可以提出来,呵呵。
分享到:
相关推荐
使用DOM4J创建XML文件通常涉及以下步骤: - 创建`Document`对象,这代表XML文档的根节点。 - 创建`Element`对象并添加到`Document`中,表示XML文档的元素层次结构。 - 添加`Attribute`,为元素设置属性。 - ...
标题中的“通过Dom4j创建和读取xml文件”指的是使用Java库Dom4j来处理XML文档的操作。Dom4j是一个灵活且功能丰富的Java XML API,它提供了多种方式来解析、创建、修改XML文档。本知识点主要涵盖以下几个方面: 1. *...
在本文中,我们将详细探讨如何利用DOM4J库来读取XML文件。 1. **安装DOM4J** 要使用DOM4J,首先需要将其添加到你的项目依赖中。如果你使用的是Maven,可以在`pom.xml`文件中添加以下依赖: ```xml <groupId>...
要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...
在Java中,解析XML文件是常见的任务,通常有DOM(Document Object Model)和DOM4J两种方式。下面我们将详细探讨这两种解析方法。 DOM解析方式是将整个XML文件加载到内存中,形成一棵DOM树,每个节点代表XML文档的一...
接下来,我们将创建一个`SAXReader`实例,它是DOM4J中的解析器,用于读取XML文件: ```java SAXReader reader = new SAXReader(); ``` 然后,使用`reader`读取XML文件并获取`Document`对象,`Document`代表整个XML...
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
- **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...
在Java开发中,dom4j和jaxen是两个常用的库,用于解析和操作XML文档。 **dom4j** 是一个非常灵活且功能强大的Java XML API,它提供了全面的XML解决方案,包括XML的读取、写入、修改以及XPath查询等功能。dom4j的...
本篇文章将详细介绍如何使用DOM(Document Object Model)和DOM4j这两种流行的方法来解析XML文件。 首先,DOM是一种标准的W3C推荐的解析XML的方法,它将整个XML文档加载到内存中,形成一个树形结构,便于程序进行...
在本文中,我们将深入探讨DOM4J如何实现XML文件的读取和写入,并通过一个实际的`analysisXml`示例来展示其工作原理。 首先,我们需要理解XML的基本概念。XML(eXtensible Markup Language)是一种标记语言,用于...
本篇文章将深入探讨如何使用DOM4J来解析XML文件,以及通过示例代码来展示其基本操作。 首先,我们需要理解DOM4J的工作原理。DOM4J采用的是DOM(Document Object Model)模型,它将整个XML文档加载到内存中形成一棵...
DOM4J通过其灵活的API,使开发者可以轻松地读取、写入和操作XML文件。例如,你可以使用DOM4J来获取XML文档的根元素,遍历元素树,检索或修改元素、属性、文本内容,甚至执行XPath查询。 `dom4j-1.6.1.jar`是DOM4J的...
1. **解析XML**:DOM4J可以读取XML文件,将其转换为一个树形结构,即Document对象。解析器有SAX和DOM两种模式,SAX是事件驱动的,适用于大文件,而DOM则将整个文档加载到内存中,适合小文件。 2. **创建XML**:DOM4...
以下代码展示了如何使用Dom4J创建一个简单的XML文档: ```java import java.io.File; import java.io.FileWriter; import org.dom4j.io.XMLWriter; import org.dom4j.*; public class CreateDoc { public int ...
### DOM4J创建XML文件知识点解析 #### 一、DOM4J简介 DOM4J(Document Object Model for XML)是一款Java平台下的轻量级XML处理框架。它提供了一种非常简便的方式来读取、写入以及操作XML文档。相比于SAX和DOM等...
本篇文章将深入探讨如何使用Dom4j,一个流行的Java库,结合XPath来解析XML文件中的路径表达式,同时阐述相对路径和绝对路径的匹配原则。 首先,我们要了解Dom4j库。Dom4j是一个灵活且高效的处理XML的Java库,它提供...
- **JDOM**:另一个Java XML库,设计目标类似DOM4J,但DOM4J在功能和性能上更胜一筹。 - **StAX**:流式API,性能较好,但灵活性不如DOM4J。 **总结** DOM4J作为Java中处理XML的首选库,因其易用性和高效性而受到...
7. **创建和修改XML**: DOM4J也支持创建新的XML元素和修改现有元素。例如,我们可以添加一个新的模板元素: ```java Element newTemplate = document.createElement("template"); newTemplate.addAttribute("name", ...
6. **示例代码**:压缩包中的“dom4j读写xml文件.htm”可能包含了具体的代码示例,演示了如何使用DOM4J读取和写入XML文件。通常,这些示例会包括打开XML文件、获取根元素、遍历元素、修改元素内容、以及保存修改后的...