/**
* 获取Dom4j的Document对象, 默认字符集UTF-8
* @param data
* @return
* @throws ParseException
*/
public static Document getDocument(String data) throws ParseException{
return getDocument(data, "UTF-8");
}
/**
* 获取Dom4j的Document对象
* @param data
* @param charset
* @return
*/
public static Document getDocument(String data, String charset) throws ParseException{
SAXReader reader = new SAXReader();
Document document = null;
InputStreamReader utfreader = null;
InputStream in = null;
try {
in = new ByteArrayInputStream(data.getBytes());
utfreader = new InputStreamReader(in, charset);
document = reader.read(utfreader);
}
catch (DocumentException e) {
throw new ParseException(e.getMessage(), e);
}
catch(UnsupportedEncodingException e){
throw new ParseException(e.getMessage(), e);
}
finally {
try {
in.close();
}
catch (IOException e) {
}
}
return document;
}
/**
* 将XML数据流备份成文件
* @param data
* @param saveFilePath
* @param saveFileName
* @return
*/
public boolean saveFile(String data, String saveFilePath, String saveFileName){
File file = new File(saveFilePath);
if(!file.exists()){
file.mkdirs();
}
String filePath = saveFilePath + File.separator + saveFileName;
boolean success = false;
Writer writer = null;
XMLWriter xmlWriter = null;
SAXReader reader = new SAXReader();
Document document = null;
InputStreamReader utfreader = null;
InputStream in = null;
try {
in = new ByteArrayInputStream(data.getBytes());
utfreader = new InputStreamReader(in, "UTF-8");
document = reader.read(utfreader);
writer = new OutputStreamWriter(new FileOutputStream(filePath), "UTF-8");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
xmlWriter = new XMLWriter(writer, format);
xmlWriter.write(document);
xmlWriter.flush();
success = true;
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
log.error(e);
}
catch (FileNotFoundException e) {
e.printStackTrace();
log.error(e);
}
catch (DocumentException e) {
e.printStackTrace();
log.error(e);
}
catch (IOException e) {
e.printStackTrace();
log.error(e);
}
finally{
try {
utfreader.close();
writer.close();
}catch (IOException e) {}
}
return success;
}
分享到:
相关推荐
要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
**使用DOM4J对XML的读写** DOM4J是一个非常强大的Java库,专门用于处理XML文档。它提供了丰富的API,使得XML的读取、创建、修改和解析变得简单易行。相较于JDOM,DOM4J确实提供了更多的功能,虽然在学习曲线方面...
Dom4j解析教程。详细讲解如何使用dom4j解析xml,简单易懂。
### 使用dom4j读写XML文档的关键知识点 #### 一、简介与安装 - **DOM4J** 是一款用于处理XML文档的Java库,它提供了简单且强大的API来解析、创建、修改XML文档。 - 官方网站:[http://www.dom4j.org/]...
在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除元素以及获取元素节点。 1. **添加元素节点** 在DOM4J中,添加元素节点通常涉及创建一个新的`Element`对象,然后将其...
DOM4J的核心优势之一在于其丰富的接口体系,这些接口定义在`org.dom4j`包内,提供了对XML文档进行读写、查询、修改等操作的能力。 1. **Attribute**: 代表XML中的属性,可用于获取和设置属性值。 2. **Branch**: ...
### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,...掌握以上知识点,开发者即可熟练运用Dom4J生成复杂的XML文档,满足项目中对XML数据处理的需求。
在提供的压缩包中,可能包含了dom4j的jar文件,解压后将其引入项目,就可以开始使用DOM4J进行XML操作了。 DOM4J不仅提供了基本的XML操作,还支持命名空间、事件处理、DTD和XML Schema验证等功能,是Java开发中处理...
2.Java方面,使用dom4j对xml进行操作,包括节点的读取,添加,修改,删除。 3.Flex方面,使用DataGrid呈现数据;使用RemoteObject构建和Java的通信;使用到了验证控件Validator;使用了CSS样式对Alert对话框进行了...
本篇文章将深入探讨如何利用DOM4J库来实现XSD对XML文档的校验,以确保XML文件符合预先设定的数据结构规则。 首先,理解XSD的作用至关重要。XSD文件定义了XML文档的元素、属性、数据类型以及它们之间的关系。通过...
例子比较简单”的描述中,我们可以推断出这个压缩包包含了一些关于如何使用DOM4J进行XML读写的基本示例。以下是对这些关键知识点的详细解释: 1. **XML解析**:DOM4J支持两种解析XML文档的方式:SAX(Simple API ...
6. **Namespace支持**:DOM4J提供了对XML命名空间的全面支持,可以方便地处理包含命名空间的XML文档。 7. **DocumentType支持**:对于包含DOCTYPE声明的XML文档,DOM4J可以处理这些声明,并提供对应的DocumentType...
### 使用dom4j操作XML详解 #### 一、DOM4j简介与配置 **DOM4j** 是一款专为Java平台设计的开源XML解析处理工具。它的设计充分考虑了性能和易用性,同时提供了对DOM、SAX及JAXP等标准的支持,因此非常适合进行复杂...
在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...
【使用dom4j解析XML】 dom4j是一个强大的开源XML框架,它提供了处理XML文档的各种功能,包括解析、创建、修改等。相比W3C DOM API,dom4j的优势在于其内置的XPath支持,允许更方便地定位和操作XML文档中的节点。 *...
### DOM4J解析XML知识点详解 ...通过结合使用DOM4J的基本类和XPath表达式,可以轻松地实现对XML文档的查询和修改。无论是对于开发人员还是对于那些需要频繁处理XML数据的应用程序来说,DOM4J都是一个非常有价值的工具。
### 使用dom4j读取XML的四种方法 在Java开发中,处理XML文件是一种常见的需求。Dom4j作为一款简洁高效的Java库,被广泛应用于解析、操作XML文档。本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例...
1. **解析XML文件**:使用DOM4J的`DocumentHelper`类的`parseText()`或`parse()`方法,可以将XML文件加载为一个`Document`对象。例如: ```java Document document = DocumentHelper.parseText(xmlString); ``` ...
总结,DOM4J作为一款强大的XML处理工具,不仅提供了丰富的API,还支持高效的读写操作和XPath查询,使得开发者能够轻松地进行XML文档的处理和操作。无论是在小型项目还是大型企业级应用中,DOM4J都是处理XML不可或缺...