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.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解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你已经下载了必要的依赖,即DOM4J库。通常,这将是一个名为`dom4j-x.x.x.jar`的文件,其中x.x.x是DOM4J的版本号...
无论是读取XML文件,解析XML字符串,还是创建、修改和遍历XML结构,DOM4J都提供了简洁的接口,极大地简化了开发者的工作。在实际的开发中,掌握DOM4J的使用,能够帮助你更有效地处理XML数据,提高代码的可维护性和...
1. **解析XML**:DOM4J可以读取XML文件,将其转换为一个树形结构,即Document对象。解析器有SAX和DOM两种模式,SAX是事件驱动的,适用于大文件,而DOM则将整个文档加载到内存中,适合小文件。 2. **创建XML**:DOM4...
DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时的强大工具。DOM4J的最大亮点在于其简洁易用的API...
DOM4J提供了通过其API和标准DOM接口并行访问文档的能力,这意味着开发者可以在不同线程中安全地读取和修改XML文档,增强了多线程环境下程序的并发性能。 **5. 高度可定制的API** 尽管DOM4J的API相对复杂,但它提供...
**DOM4J——XML解析库详解** XML(eXtensible Markup Language)作为一种标记语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java环境中,解析XML文档时,我们通常会遇到各种库,其中DOM4J是一个非常流行...
DOM4J是Java中一个非常强大的XML处理库,它提供了丰富的API来操作XML文档,如读取、写入、修改以及查询XML。本教程将深入探讨XML DOM4J解析的相关知识点。 一、DOM4J基本概念 DOM4J是一种灵活的Java API,其设计...
通过上述内容,我们了解了dom4j的基本用法,包括解析、遍历、修改和序列化XML文档,以及使用XPath进行节点查询。在实际开发中,这些功能可以极大地简化XML处理任务。尽管dom4j-1.6.1.jar是一个较旧的版本,但其核心...
Dom4j 遍历解析 XML Dom4j 是一个基于 Java 的 XML 解析库,提供了广泛的 XML 解析功能。Dom4j 遍历解析 XML 是指使用 Dom4j 库来解析和遍历 XML 文档,提取其中的元素、属性和值。 在 Dom4j 中,遍历 XML 文档...
**正文** Dom4j是一个非常流行的Java库,用于处理XML文档。它提供了灵活且功能强大的API,使得XML的解析...在实际项目中,Dom4j常用于读取和解析配置文件,因为它的API简洁且易于理解,大大简化了XML数据的处理工作。
DOM4J作为XML解析工具,其核心功能包括: 1. **解析XML文档**:DOM4J可以使用SAX或DOM方式解析XML文件。SAX是事件驱动的解析器,适用于大文件,而DOM解析会将整个文档加载到内存,适合小文件。DOM4J的灵活性在于,...
**DOM4J解析XML** DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效且功能丰富的API,使得XML的读取、创建、修改和查询变得简单易行。DOM4J的主要特点包括对XPath的支持、事件驱动的解析、以及与...
在XML解析领域,DOM4J主要涉及以下知识点: 1. **DOM4J API**:DOM4J提供了一组直观的类和接口来操作XML文档,如`Element`代表XML元素,`Attribute`代表属性,`Document`表示整个XML文档,还有`Namespace`处理命名...
### DOM4J解析XML知识点详解 #### 一、DOM4J简介 DOM4J是一个Java库,用于处理XML文档。它的设计目标是为了提供一个简单、易于使用的API来处理XML文件,同时保持性能上的优势。与Java标准库中的DOM实现相比,DOM4J...
在提供的压缩包中,包含了关于这三种解析方式的代码示例,你可以参考这些代码了解如何在Java环境中使用DOM、SAX和DOM4J进行XML解析。通过阅读和理解这些示例,你可以更好地掌握XML解析技术,并根据项目需求选择合适...
- **SAX阅读器**:对于大型XML文件,DOM4J也支持SAX解析,它按事件驱动的方式逐行读取XML,仅处理当前需要的部分,降低了内存需求。可以使用`SAXReader`类进行SAX解析。 **3. XPath查询** DOM4J的XPath支持使得...
1. **XML解析**:DOM4J支持多种解析方式,如DOM、SAX和StAX。其中,DOM(Document Object Model)是将整个XML文档加载到内存中形成一棵树形结构,便于遍历和操作;SAX(Simple API for XML)是事件驱动的解析器,...
在本示例中,我们将探讨如何利用DOM4J来读取和解析XML文件,以及如何通过`XMLTest.java`这个示例来理解DOM4J的基本用法。 首先,`XMLTest.java`是一个包含DOM4J操作XML的代码实例。通常,这样的程序会包含以下步骤...
**dom4j** 是一个非常灵活且功能强大的Java XML API,它提供了全面的XML解决方案,包括XML的读取、写入、修改以及XPath查询等功能。dom4j的核心思想是基于DOM模型,但比DOM更轻量级,性能更好。它支持事件驱动和SAX...
DOM4J是一个强大的Java库,用于处理XML文档,包括读取、写入、修改和解析。本篇文章将深入探讨如何利用DOM4J解析SOAP消息中的元素,以便在实际项目中进行有效的数据提取和操作。 首先,理解SOAP消息的结构至关重要...