//导入必要的包
import org.dom4j.Document;//Document文档类
import org.dom4j.Element//元素节点类
import org.dom4j.io.SAXReader;//sax读取类
import org.dom4j.io.XMLWriter;//xml写入类
import org.dom4j.io.OutputFormat;//输出格式
//读入xml文件
String fileName = "xxx.xml";
InputStream input = new FileInputStream(fileName);
SAXReader reader = new SAXReader();
Document document = reader.read(input);//或reader.read(new File(fileName));
//操作Document文档
1,最常用:返回List数据类型,可以利用iterator进行遍历,然后Element转型:
List list = document.selectNodes("//xxx:string");//XPath
for (Iterator it = list.iterator(); it.hasNext();) {
Element elm = (Element) it.next();
//这里是你操作元素的代码...
}
2.返回第一匹配的XPath节点:
Node node = doc.selectSingleNode("//xxx:getForexRmbRate");
或Element element = (Element)doc.selectSingleNode("//xxx:getForexRmbRate");
3.返回根节点:
Element root = document.getRootElement();
4.返回节点的所有的子节点:
List list = element.elements();
获得指定标签名称为book的子节点:
Element ele = element.element("book");
5.获取节点元素的text文本:
String s = element.getText();
设置节点元素的文本值:
void setText(String value);
6.返回节点的属性值:
String value = element.attributeValue(String name);
设置属性值:
void setAttributeValue(String name,String value);
7.获得标签本身的名称:
String s = element.getName();
设置名称:
void setName(String name);
8.获得该节点的命名空间:(一般都是将命名空间放在map中,用于解析xml)
String uri = element.getNamespaceURI();
9.复制节点:
Element createCopy();
获得父节点:
Element getParent();
10.枚举属性:
for(Iterator it=element.attributeIterator(); it.hasNext();){
Attribute att = (Attribute)it.next();
......
}
11.在一个节点后添加节点:
第一种添加方法:element.add(Element ele);
第二种添加方法:element.appendContent(element.getParent());
第三种添加方法:Element e = element.addElement("book");
12.保存xml文件:
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(encodeOut);//含有中文时,要为GBK或GB2312
format.setIndent(" ");
XMLWriter writer = new XMLWriter(new FileWriter(new File(fileName)),format);
writer.write(document);
writer.close();
13./**
* 创建xml文件
* @param fileName 需建立的文件名
* @return 返回操作结果, false表失败, true表成功
*/
public static boolean createXMLFile(String fileName){
boolean result = false;// 返回操作结果
Document document = DocumentHelper.createDocument();//建立document对象
Element booksElement = document.addElement("books"); //建立XML文档的根books
booksElement.addComment("This is a test for dom4j"); //加入一行注释
Element bookElement = booksElement.addElement("book"); //加入第一个book节点
bookElement.addAttribute("show","yes"); //加入show属性内容
Element titleElement = bookElement.addElement("title"); // 加入title节点
titleElement.setText("Dom4j Tutorials"); //为title设置内容
bookElement = booksElement.addElement("book"); //类似的完成后两个book
bookElement.addAttribute("show","yes");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene Studing");
bookElement = booksElement.addElement("book");
bookElement.addAttribute("show","no");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene in Action");
Element ownerElement = booksElement.addElement("owner"); //加入owner节点
ownerElement.setText("中文啊");
try{
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(encodeOut); //encodeOut为GBK或GB2312,中文时必须要设置,否则用ie打开时报错!!!
XMLWriter writer = new XMLWriter(new FileWriter(new File(fileName)),format);
writer.write(document);
writer.close();
result = true;
}catch(Exception e){
e.printStackTrace();
}
return result;
}
dom4j解析xml字符串:
http://www.cnblogs.com/macula/archive/2011/07/27/2118003.html
http://xpws2006.blog.163.com/blog/static/9543857720095183129813/
http://zhidao.baidu.com/question/136456396.html
http://zhidao.baidu.com/question/116552893.html?fr=qrl&index=0
http://starting.iteye.com/blog/758106
http://blog.csdn.net/mingjian_zheng/article/details/4170519
http://my.oschina.net/chen106106/blog/50272
http://hanzel.i.sohu.com/blog/view/200670677.htm
分享到:
相关推荐
### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库...
要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...
- **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...
### 使用dom4j读取XML的四种方法 在Java开发中,处理XML文件是一种常见的需求。Dom4j作为一款简洁高效的Java库,被广泛应用于解析、操作XML文档。本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例...
### DOM4J解析XML知识点详解 ...通过结合使用DOM4J的基本类和XPath表达式,可以轻松地实现对XML文档的查询和修改。无论是对于开发人员还是对于那些需要频繁处理XML数据的应用程序来说,DOM4J都是一个非常有价值的工具。
为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...
在本教程中,我们将深入探讨如何使用DOM4J解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你已经下载了必要的依赖,即DOM4J库。通常,这将是一个名为`dom4j-x.x.x.jar`的文件,其中x.x.x是DOM4J的版本号...
在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除元素以及获取元素节点。 1. **添加元素节点** 在DOM4J中,添加元素节点通常涉及创建一个新的`Element`对象,然后将其...
在实际项目中,`testPuke`文件可能是测试用例,包含使用DOM4J进行XML操作的代码示例。通过运行这些示例,你可以更好地理解和掌握DOM4J的用法。DOM4J的灵活性和易用性使其成为Java开发中处理XML的首选工具之一,无论...
DOM4j则是一个强大的Java库,用于处理XML文档,提供了丰富的API来实现XML的读取、写入、修改等操作。在这个示例中,我们将深入探讨如何利用Maven管理和DOM4j来操作XML文件。 首先,让我们了解一下Maven。Maven是...
在本示例中,我们将探讨如何利用DOM4J来读取和解析XML文件,以及如何通过`XMLTest.java`这个示例来理解DOM4J的基本用法。 首先,`XMLTest.java`是一个包含DOM4J操作XML的代码实例。通常,这样的程序会包含以下步骤...
在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...
在提供的压缩包中,可能包含了dom4j的jar文件,解压后将其引入项目,就可以开始使用DOM4J进行XML操作了。 DOM4J不仅提供了基本的XML操作,还支持命名空间、事件处理、DTD和XML Schema验证等功能,是Java开发中处理...
本文将深入探讨如何使用DOM4J库来读取XML文件。 首先,让我们理解DOM4J的基本概念。DOM4J是基于DOM模型的,DOM(Document Object Model)是一种标准的API,用于解析XML文档并将其表示为一棵由节点组成的树形结构。...
在本示例中,"dom4jExample.java"是一个Java程序,它展示了如何利用DOM4J库来操作XML文件。 首先,我们需要了解DOM4J的基本概念。DOM4J采用Document Object Model (DOM)接口,但它的实现比标准DOM更快,占用内存更...
### 使用dom4j操作XML详解 #### 一、DOM4j简介与配置 **DOM4j** 是一款专为Java平台设计的开源XML解析处理工具。它的设计充分考虑了性能和易用性,同时提供了对DOM、SAX及JAXP等标准的支持,因此非常适合进行复杂...
DOM4J是Java环境中一个强大、灵活的XML处理库,它提供了XML的读取、写入、解析和操作的能力。本篇文章将深入探讨如何利用DOM4J库来实现XSD对XML文档的校验,以确保XML文件符合预先设定的数据结构规则。 首先,理解...
通过学习和实践这些基本操作,你可以熟练掌握DOM4J解析XML的技巧,为你的Java项目中处理XML数据提供强大的支持。在项目中遇到具体问题时,可以参考DOM4J的官方文档,或利用在线资源进行更深入的学习。
在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码示例,并参考`emailTemplateConfig.xml`作为实际操作的对象。 首先,让我们了解XML(eXtensible Markup Language)。...