📄 dom4jutil.java
字号:
package com.common.util;
import java.io.File;
import java.io.FileWriter;
import java.net.MalformedURLException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentFactory;
import org.dom4j.Element;
import org.dom4j.io.DOMReader;
import org.dom4j.io.DOMWriter;
import org.dom4j.io.DocumentResult;
import org.dom4j.io.DocumentSource;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Dom4jUtil {
/**
* @param args
*/
/**
*
* 格式化XML文档,并解决中文问题
*
* @param filename
*
* @return
*
*/
public static boolean formatXMLFile(String filename) {
try {
Document document = readXML(filename);
XMLWriter writer = null;
/** 格式化输出,类型IE浏览一样 */
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML编码 */
format.setEncoding("GBK");
writer = new XMLWriter(new FileWriter(new File(filename)), format);
writer.write(document);
writer.close();
System.out.println("执行成功!");
/** 执行成功,需返回1 */
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}
// 从文件读取XML,输入文件名,返回XML文档
public static Document readXML(String fileName)
throws MalformedURLException, DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(fileName));
return document;
}
// 取得Root节点
public static Element getRootElement(Document doc) {
return doc.getRootElement();
}
// 用XSLT转换XML
public static Document styleDocument(Document document, String stylesheet)
throws Exception {
// load the transformer using JAXP
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(
stylesheet)
);
// now lets style the given document
DocumentSource source = new DocumentSource(document);
DocumentResult result = new DocumentResult();
transformer.transform(source, result);
// return the transformed document
Document transformedDoc = result.getDocument();
return transformedDoc;
}
/** 转换 W3C DOM document 为 dom4j document */
public static Document buildDocment(org.w3c.dom.Document domDocument) {
DOMReader xmlReader = new DOMReader();
return xmlReader.read(domDocument);
}
public static org.w3c.dom.Document transformtoDOM(Document doc) throws Exception {
DOMWriter writer = new DOMWriter();
return writer.write(doc);
}
// 创建一个带有ROOT的Document
public Document getDocByRoots(String rootString) {
Document document = DocumentFactory.getInstance().createDocument();
Element root = document.addElement(rootString);
return document;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -