dom4j生成xml与解析xml
1、解析xml
<?xml version="1.0" encoding="gbk"?>
<a>
<user id="1">
<name>jack</name>
<age>23</age>
</user>
<user id="2">
<name>lucy</name>
<age>22</age>
</user>
</a>
------------------------------------------------------------------------------------
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class MyXMLReader {
public static void main(String[] arge) {
try {
SAXReader reader=new SAXReader();
Document doc=reader.read(new File("c://test2.xml"));
Element root= doc.getRootElement();
Iterator iterator=root.elementIterator("user");
while(iterator.hasNext()){
Element user=(Element)iterator.next();
String id=user.attributeValue("id");
System.out.println("id号码:"+id);
String name=user.elementText("name");
System.out.println("用户名字:"+name);
String age=user.elementText("age");
System.out.println("年龄:"+age);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
==========================================================
2、生成xml文档与修改xml文档
import java.io.FileWriter;
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 Dom4JXML {
public void createXML(){
Document doc=DocumentHelper.createDocument();
Element rootEle=doc.addElement("emps");
rootEle.addComment("这是一个dom4j生成的XML文件");
Element empEle=rootEle.addElement("emp");
empEle.addAttribute("id", "1");
Element nameEle=empEle.addElement("name");
nameEle.setText("jack");
Element sexEle=empEle.addElement("sex");
sexEle.addText("man");
try{
Writer out=new FileWriter("c://emps.xml");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setIndent(true);
format.setNewlines(true); //设置换行
format.setEncoding("GBK");
XMLWriter writer= new XMLWriter(out,format);
writer.write(doc);
writer.close();
System.out.println("生成的emps.xml成功。");
}catch(Exception e){
e.printStackTrace();
}
}
public void updateXML(){
try {
SAXReader reader= new SAXReader();
Document doc=reader.read("c://emps.xml");
List listId=doc.selectNodes("//emps//emp//@id");
Iterator idIterator=listId.iterator();
while(idIterator.hasNext()){
Attribute attribute=(Attribute)idIterator.next();
attribute.setValue("001");
}
List listName=doc.selectNodes("//emps//emp//name");
Iterator nameIterator=listName.iterator();
while(nameIterator.hasNext()){
Element eleName= (Element)nameIterator.next();
eleName.setText("张三");
}
List listSex=doc.selectNodes("//emps//emp");
Iterator sexIterator=listSex.iterator();
while(sexIterator.hasNext()){
Element eleSex=(Element)sexIterator.next();
Iterator ite=eleSex.elementIterator("sex");
while(ite.hasNext()){
Element sexEle=(Element)ite.next();
eleSex.remove(sexEle);
}
}
Writer out=new FileWriter("c://emps(update).xml");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer= new XMLWriter(out,format);
writer.write(doc);
writer.close();
System.out.println("生成的emps(update).xml成功。");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
Dom4JXML dom4jxml=new Dom4JXML();
dom4jxml.createXML();
dom4jxml.updateXML();
}
}
分享到:
相关推荐
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API来读取、写入、修改以及操作XML。在这个实例中,我们将深入理解DOM4J库如何帮助我们处理XML文档,并通过实际操作来熟悉其核心功能。 XML...
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
Java中的DOM4J库是一个非常流行的、开源的Java XML API,它提供了强大的XML处理功能,包括XML的读取、创建、修改以及写入。DOM4J是基于DOM模型的,但相比标准的Java DOM,它提供了更加简洁和高效的API,使得开发者在...
Dom4j解析教程。详细讲解如何使用dom4j解析xml,简单易懂。
**使用DOM4J对XML的读写** DOM4J是一个非常强大的Java库,专门用于处理XML文档。它提供了丰富的API,使得XML的读取、创建、修改和解析变得简单易行。相较于JDOM,DOM4J确实提供了更多的功能,虽然在学习曲线方面...
以下是对Dom4j读写XML的详细讲解: 一、Document对象相关 1. **读取XML文件**:通过`SAXReader`实例化并调用`read()`方法,可以将XML文件读取为`Document`对象。例如: ```java SAXReader reader = new ...
DOM4J的核心优势之一在于其丰富的接口体系,这些接口定义在`org.dom4j`包内,提供了对XML文档进行读写、查询、修改等操作的能力。 1. **Attribute**: 代表XML中的属性,可用于获取和设置属性值。 2. **Branch**: ...
例子比较简单”的描述中,我们可以推断出这个压缩包包含了一些关于如何使用DOM4J进行XML读写的基本示例。以下是对这些关键知识点的详细解释: 1. **XML解析**:DOM4J支持两种解析XML文档的方式:SAX(Simple API ...
### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,...掌握以上知识点,开发者即可熟练运用Dom4J生成复杂的XML文档,满足项目中对XML数据处理的需求。
在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...
在Java领域,XML常用于数据交换、配置文件以及存储结构化数据,因此理解和掌握如何使用dom4j对XML文件进行操作是至关重要的。 DOM(Document Object Model)是一种用于表示XML文档的树形结构,而dom4j是基于Java的...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除...
6. **Namespace支持**:DOM4J提供了对XML命名空间的全面支持,可以方便地处理包含命名空间的XML文档。 7. **DocumentType支持**:对于包含DOCTYPE声明的XML文档,DOM4J可以处理这些声明,并提供对应的DocumentType...
在提供的资源中,"dom4j读写XML及保存批量数据对象 - 五月天的博客 - ITeye技术网站.bmp"可能是一个教程页面的截图,它会详细解释这些操作的实现步骤。如果你遇到任何问题,可以参考这个截图或者在ITeye技术网站上...
### 使用dom4j读写XML文档的关键知识点 #### 一、简介与安装 - **DOM4J** 是一款用于处理XML文档的Java库,它提供了简单且强大的API来解析、创建、修改XML文档。 - 官方网站:[http://www.dom4j.org/]...
本实例"xmldemo"将向我们展示如何利用DOM4J进行XML的读写操作。 首先,理解DOM4J的核心概念。DOM4J使用了Document对象来表示整个XML文档,Element代表XML的元素节点,Attribute代表属性,Text代表文本内容。通过...
### DOM4J解析XML知识点详解 ...通过结合使用DOM4J的基本类和XPath表达式,可以轻松地实现对XML文档的查询和修改。无论是对于开发人员还是对于那些需要频繁处理XML数据的应用程序来说,DOM4J都是一个非常有价值的工具。
这些功能使得对XML文档的维护和更新变得非常方便。 6. **XPath和XSLT转换**:除了基本的XML操作,DOM4J还能配合XPath执行XSLT(eXtensible Stylesheet Language Transformations)转换,实现XML到XML或XML到其他...