dom4j保存文件xml格式和读取XML文件内容,代码如下:
package com.qmjs.imut
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Dom4jUtils {
private static final Logger LOG = Logger.getLogger(Dom4jUtils.class);
private Dom4jUtils() {
super();
}
/**
* 使用Dom4j读取一个XML文件
*
* @param xmlFileName
* @return
*/
public static Document loadXML(String xmlFileName) {
InputStream is = null;
try {
LOG.info("使用Dom4j读取一个XML文件: " + xmlFileName);
is = Dom4jUtils.class.getClassLoader().getResourceAsStream(
xmlFileName);
SAXReader xmlReader = new SAXReader();
xmlReader.setMergeAdjacentText(true);
xmlReader.setEncoding(null);
xmlReader.setStripWhitespaceText(true);
xmlReader.setValidation(false);
xmlReader.setIgnoreComments(true);
Document document = xmlReader.read(is);
document.normalize();
return document;
} catch (Exception e) {
LOG.error(e.getMessage(), e);
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
LOG.error(e.getMessage(), e);
}
}
}
return null;
}
/**
* 将一个string内容写成mxl格式文件
*
* @param file
* @param content
* @return
*/
public static boolean writeXml(File file, String content) {
XMLWriter writer = null;
try {
Document document = DocumentHelper.parseText(content);
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
writer = new XMLWriter(new FileWriter(file), format);
writer.write(document);
writer.flush();
return true;
} catch (Exception e) {
LOG.error(e.getMessage(), e);
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
LOG.error(e.getMessage(), e);
}
}
}
return false;
}
}