首先是读取xml文件。
SAXReader reader=new SAXReader();
Document doc=reader.read(new File(filepath));
这里的filepath为xml文件的路径。
获取了Document对象之后, 便可以对xml文件进行进一步的读取操作.
然后是写入文件
package com.lj.test;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Test06
{
public static void main(String[] args) throws IOException
{
Document doc=DocumentHelper.createDocument();
Element root=doc.addElement("users");
Element user=root.addElement("user");
user.addElement("id").addText("1");
user.addElement("name").addText("z");
user=root.addElement("user");
user.addElement("id").addText("2");
user.addElement("name").addText("w");
XMLWriter out=new XMLWriter(new FileWriter("src/main/resources/User.xml"),OutputFormat.createPrettyPrint());
out.write(doc);
out.flush();
out.close();
}
}
========================================
将list对象进行封装写入xml
package com.lj.test;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import com.lj.model.Person;
public class Test08
{
public static void main(String[] args) throws IOException
{
Document doc=DocumentHelper.createDocument();
System.out.println(doc);
Person p1=new Person("li","233",25);
Person p2=new Person("wu","123",27);
List<Person> al=new ArrayList<Person>();
al.add(p1);
al.add(p2);
doc=writeList2XML(doc, al);
XMLWriter writer=new XMLWriter(new FileWriter(new File("src/main/resources/Person.xml")),OutputFormat.createPrettyPrint());
writer.write(doc);
writer.flush();
writer.close();
}
private static Document writeList2XML(Document doc, List<Person> persons)
{
// Document doc=DocumentHelper.createDocument();
Element root = doc.addElement("persons");
System.out.println(root);
for (Person p : persons)
{
Element ep = root.addElement("person");
ep.addAttribute("age", p.getAge() + "");
ep.addElement("name").setText(p.getName());
ep.addElement("password").setText(p.getPassword());
}
return doc;
}
}
分享到:
相关推荐
本篇笔记将深入探讨XML DOM4J的学习要点。 一、XML基础知识 1. XML结构:XML文档由元素(Element)、属性(Attribute)、文本内容(Text)、注释(Comment)等组成。每个XML文档都有一个根元素,其他元素嵌套在根...
**标题:** Dom4j 解析Xml文档及 XPath查询 学习笔记 **正文:** XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、配置存储以及文档结构化表示。在Java世界中,解析XML文档有多种库,其中Dom4j是...
- **创建和修改**:DOM4J不仅用于读取XML,还可以创建和修改XML文档。可以添加新元素、修改现有元素的属性、删除元素等。例如,可以使用`Element.addElement(String name)`创建新元素,`Attribute.setAttribute...
### DOM4j解析XML知识点详解 #### 一、DOM4j简介 DOM4j是一个用于处理XML文档的...通过以上步骤,我们可以了解到如何使用DOM4j创建、写入并输出XML文档的基本流程,这对于理解和应用DOM4j进行XML操作是非常有帮助的。
本笔记将深入探讨如何使用DOM(文档对象模型)和DOM4J库来创建XML文档。 一、DOM解析器 DOM是W3C推荐的一种XML解析标准,它将整个XML文档加载到内存中,形成一棵树形结构,称为DOM树。通过DOM,我们可以方便地访问...
5. **API(应用程序接口)**: Dom4j的API文档是开发者的重要工具,它详细说明了类、方法和属性,帮助开发者理解如何利用Dom4j进行XML操作,如创建元素、添加属性、读取节点值等。 6. **HTC**: HTC是一家知名的智能...
**标题解析:** "Dom4j学习笔记" 这个标题明确指出了我们要探讨的主题——Dom4j。Dom4j是一个流行的Java库,用于处理XML文档。它提供了丰富的API,使得XML的读取、写入、操作变得简单易行。在学习笔记中,通常会涵盖...
本文将深入探讨DOM4J的核心概念、基本操作以及其在XML处理中的应用。 1. **DOM4J概述** - DOM4J的核心理念是提供一个灵活且高性能的XML处理框架,支持多种XML解析模型,包括DOM、SAX和STAX。 - 它不仅包含了XML...
"2012-4-10 有关 xml dom4j的 crud"可能是另一个教程或者笔记,详细讲解了如何利用DOM4J进行XML的CRUD操作。这个文件可能包含了详细的步骤和代码示例,对于学习DOM4J非常有帮助。 "自己写的 dom4j的例子"很显然是...
### 四、DOM4J生成XML DOM4J可以方便地生成XML文档。首先创建`Document`对象,然后构建元素结构,最后使用`OutputStream`或`Writer`输出XML文档。 ```java Document document = DocumentFactory.getInstance()....
- **读取XML**:SAXReader类可以读取XML文件,并构建DOM4J Document对象。 8. **与其它XML库的对比**: - **与DOM的比较**:DOM4J更轻量级,API更友好,而DOM更适合大型、复杂的XML文档。 - **与JDOM的比较**:...
#### 四、DOM4J与其他XML技术的比较 与DOM和SAX相比,DOM4J具有以下优势: 1. **性能**: DOM4J在内存消耗和执行速度方面通常优于DOM。 2. **易用性**: DOM4J提供了更简洁的API来处理XML文档。 3. **功能**: DOM4J...
7. **XML序列化与反序列化**:DOM4J可以将XML Document对象写入文件,实现XML的序列化,反之,也可以从文件中读取XML并构建DOM4J对象,这就是反序列化。 8. **事件驱动模型SAX**:虽然DOM4J主要基于DOM模型,但也...
用于xml,dom4j解析比进口快不崩溃崩溃笔记本尽快
另外,JDOM和DOM4J是两个流行的DOM替代库,提供了更友好的API来操作XML,尤其是对于复杂的XML结构。 JDOM简化了DOM的一些操作,它使用Java对象直接映射XML元素,使得操作更直观。DOM4J则在DOM的基础上进行了扩展,...
自己总结的一份xml学习笔记。内容包括xml文件的书写格式,约束、jaxp及dom4j对xml解析的代码。
这篇文档将深入探讨Java中如何使用jxl.jar库进行Excel文件的读写操作,解析XML文件,以及关于log4j的日志记录系统和文件的上传下载笔记。在现代的IT环境中,这些技能对于数据处理、日志管理和系统交互至关重要。 ...
移动开发的小白树懒正在努力的学习移动开发中的web体系中的xml解析,每天提高自己...
在Java编程中,XML被广泛应用于配置文件、数据交换...通过阅读“XML笔记”和实践DOM4J源码,可以深入了解XML的解析机制,提高处理XML文档的能力。在实际开发中,结合Java的XML处理库,能更好地进行数据交换和文件操作。