更多请参考:自定义简单XML的读与存,便捷工具类
import java.io.File;
import java.io.FileWriter;
import java.io.StringWriter;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* XML工具类
*
*/
public class XMLUtils {
/**
* 返回格式化的XML字段串
*
* @param document
* 要格式化的文档
* @param encoding
* 使用的编码,如果为null刚使用默认编码(gb2312)
* @return 格式化的XML字段串
*/
public static String toXMLString(Document document, String encoding) {
if (encoding == null) {
encoding = "gb2312";
}
StringWriter writer = new StringWriter();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter xmlwriter = new XMLWriter(writer, format);
try {
xmlwriter.write(document);
} catch (Exception e) {
e.printStackTrace();
}
return writer.toString();
}
/**
* 返回格式化的XML字段串
*
* @param element
* 要格式化的节点元素
* @param encoding
* 使用的编码,如果为null刚使用默认编码(gb2312)
* @return 格式化的XML字段串
*/
public static String toXMLString(Element element, String encoding) {
if (encoding == null) {
encoding = "gb2312";
}
StringWriter writer = new StringWriter();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(encoding);
XMLWriter xmlwriter = new XMLWriter(writer, format);
try {
xmlwriter.write(element);
} catch (Exception e) {
e.printStackTrace();
}
return writer.toString();
}
/**
* 格式化文档并输出到文件
*
* @param document
* 要输出的文档
* @param filename
* XML文件名
* @param encoding
* 使用的编码,如果为null刚使用默认编码(gb2312)
* @return true or false
*/
public static boolean toXMLFile(Document document, String filename,
String encoding) {
if (encoding == null) {
encoding = "gb2312";
}
boolean returnValue = false;
try {
XMLWriter output = null;
/** 格式化输出,类型IE浏览一样 */
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML字符集编码 */
format.setEncoding(encoding);
output = new XMLWriter(new FileWriter(new File(filename)), format);
output.write(document);
output.close();
/** 执行成功,需返回1 */
returnValue = true;
} catch (Exception ex) {
ex.printStackTrace();
returnValue = false;
}
return returnValue;
}
/**
* 格式化XML文件并保存
*
* @param srcFileName
* 源XML文件
* @param desFileName
* 格式化后的XML文件,如果为null,则使用srcFileName
* @param encoding
* 使用的编码,如果为null刚使用默认编码(gb2312)
* @return true or false
*/
public static boolean toXMLFile(String srcFileName, String desFileName,
String encoding) {
if (encoding == null) {
encoding = "gb2312";
}
if (desFileName == null) {
desFileName = srcFileName;
}
boolean returnValue = false;
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File(srcFileName));
XMLWriter output = null;
/** 格式化输出,类型IE浏览一样 */
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML字符集编码 */
format.setEncoding(encoding);
output = new XMLWriter(new FileWriter(new File(desFileName)),
format);
output.write(document);
output.close();
/** 执行成功,需返回1 */
returnValue = true;
} catch (Exception ex) {
ex.printStackTrace();
returnValue = false;
}
return returnValue;
}
/**
* 从读取XML文件
*
* @param fileName
* @return Document对象
*/
public static Document read(String fileName) {
SAXReader reader = new SAXReader();
Document document = null;
try {
document = reader.read(new File(fileName));
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return document;
}
/**
* 从XML字符串转换到document
*
* @param xmlStr
* XML字符串
* @return Document
*/
public static Document parseText(String xmlStr) {
Document document = null;
try {
document = DocumentHelper.parseText(xmlStr);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return document;
}
}
分享到:
相关推荐
本人没分了,特别来分享一下,通用的XML读写工具类,同志们下下绝对不后悔
c++读取xml工具类TinyXml
内容:博客代码 一次代码重构之旅-快速读写xml文件工具类封装 http://blog.csdn.net/lk_blog/article/details/8220803
可以试试
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
java各种工具类:包括日期工具类、字符串工具类、文件工具类、xml读写工具类、json工具类、http访问工具类、压缩包工具类等等。非常齐全
主要介绍了基于C#实现XML文件读取工具类,涉及C#针对XML文件各节点获取的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
Java操作excel文件的实例,内含读取excel映射配置文件 导出excel模板文件的配置方法
3.轻松读写/更新xml文件 等等... (具体请查阅javadoc,sample xml文件; 使用实例可以参照junit测试文件。) 该xml工具开源,仅14K,无需license,经过严格junit测试,可以在日常开发中使用。 support me!
Unity下基于C#的XML工具类,可实现XML的增删改查,Android移动端读写
web 项目中的各种工具类 Bean2MapUtil 实体bean的数据转到map中 BeanUtil 拷贝一个bean中的非空属性于另一个bean中 CopyOfJExcelUtils excel 工具类 DateUtil 时间工具类 ...XmlUtils XML读写工具
工具类中包括存放hash表键值对,键值对以map的方式储存,删除键值对,永久存放键值对,设置过期时间,需要的直接去gitHab上看https://github.com/1610220353/advancedGiants/tree/master/src/main
NULL 博文链接:https://jeans.iteye.com/blog/309533
字符串拷贝,http链接,json解析,xml解析,map对象转换,日期类型转换,Io流读写,excel写入导出,签名验签类,排序类,参数格式校验类,对称加密,http长链接,ftp/sftp链接工具等,应有尽有。
一个MFC工具类包,包括: CMarkup 读写XML文件 CAdo 数据库操作类 CIniFile ini文件操作类 CLogFile 写日志文件类 CMyToolTipCtrl 自定义的提示消息类 CSymbolEdit 自定义编辑框类
文件操作工具类(ToolFile.java),assets/raw/xml/shrePerface/等文件读写API 地图定位工具类(ToolLocation.java),读取GPS状态、请求定位、获取经纬度等方法 社会化分享工具类(ToolShareSDK.java),各大开发平台...
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
主要为大家详细介绍了Java使用DOM4j实现读写XML文件的属性和元素,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
文件操作工具类(ToolFile.java),assets/raw/xml/shrePerface/等文件读写API 地图定位工具类(ToolLocation.java),读取GPS状态、请求定位、获取经纬度等方法 社会化分享工具类(ToolShareSDK.java),各大开发平台...
文件操作工具类(ToolFile.java),assets/raw/xml/shrePerface/等文件读写API 地图定位工具类(ToolLocation.java),读取GPS状态、请求定位、获取经纬度等方法 社会化分享工具类(ToolShareSDK.java),各大开发...