一、获取Document方法。
(1)、使用到的jar包:dom4j-1.6.1.jar,log4j-1.2.17.jar, jaxen-1.1-beta-6.jar ,jaxme-api-0.3.jar,jsr173_1.0_api.jar,msv-20030807.jar
pull-parser-2.1.10.jar,relaxngDatatype-20030807.jar,xpp3-1.1.3.3.jar,xsdlib-20030807.jar
(2)、通过XML文件内容获取Document对象。
/**
* 根据XML文件内容,获取XML文档的Document对象 <br>
* @param xmlName 已经存在的XML文件名
* @return 返回Document对象
*/
public static Document getXmlDocument(String xmlName){
try {
SAXReader reader = new SAXReader();
Document document = reader.read(new StringReader(xmlName));
return document;
} catch (DocumentException e) {
UtilException ue = new UtilException("XML文档解析出错:"+e.getMessage(),e);
LogUtil.exception(ue);
}
return null;
}
(3)、通过XML文件的URL获取Document对象。
/**
* 根据XML文件的URL,获取Document对象 <br>
* @param url xml文件URL
* @return 返回XML文件的Document对象
*/
public static Document getXmlDocument(URL url){
try {
SAXReader reader = new SAXReader();
Document document = reader.read(url);
return document;
} catch (DocumentException e) {
UtilException ue = new UtilException("XML文档解析出错:"+e.getMessage(),e);
LogUtil.exception(ue);
}
return null;
}
(4)、通过类路径下的XML文件对象获取Document对象。
/**
* 根据类路径下的XML文件对象获取Document对象<br>
* @return 返回XML文件的Document对象
*/
public static Document getXmlDocument(String fileName){
try {
InputStream inputStream = XmlUtil.class.getClassLoader().getResourceAsStream(fileName);
SAXReader reader = new SAXReader();
Document document = reader.read(inputStream);
return document;
} catch (DocumentException e) {
UtilException ue = new UtilException("XML文档解析出错:"+e.getMessage(),e);
LogUtil.exception(ue);
}
return null;
}
二、以上三种方式使用到的附加源代码。
LogUtil.java如下:
/**
* 日志工具类 <br>
* @author wkq
* @date 2017-01-11
*/
public class LogUtil {
private static final Logger LOGGER = Logger.getLogger(LogUtil.class.getName());
private LogUtil() {
}
/**
* 用给定的名称构造日志记录器<br>
*
* @param name 日志记录器名称
* @return 返回指定名称的日志记录器。
*/
public static Logger getLogger(String name) {
debug("日志记录器名称:" + name);
if (StringUtil.isEmptyString(name)) {
return LOGGER;
} else {
// Apache log4j 1.2.17
return Logger.getLogger(name);
// Apache log4j 2.2
// return LogManager.getLogger(name);
}
}
/**
* 记录DEBUG日志<br>
*
* @param message 日志
*/
public static void debug(Object message) {
LOGGER.debug(message);
}
/**
* 记录INFO日志<br>
*
* @param message 日志
*/
public static void info(Object message) {
LOGGER.info(message);
}
/**
* 记录ERROR日志<br>
*
* @param message 日志
*/
public static void error(Object message) {
LOGGER.error(message);
}
/**
* 记录异常日志<br>
*
* @param e 异常
*/
public static void exception(Exception e) {
LOGGER.error(e.getMessage(), e);
}