⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlhelper.java

📁 一个Java持久层类库
💻 JAVA
字号:
//$Id: XMLHelper.java 8563 2005-11-10 15:58:59Z steveebersole $package org.hibernate.util;import java.util.List;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.dom4j.io.DOMReader;import org.dom4j.io.SAXReader;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;import org.dom4j.Element;import org.dom4j.DocumentFactory;import org.xml.sax.EntityResolver;import org.xml.sax.ErrorHandler;import org.xml.sax.SAXParseException;/** * Small helper class that lazy loads DOM and SAX reader and keep them for fast use afterwards. * * * */public final class XMLHelper {	private static final Logger log = LoggerFactory.getLogger(XMLHelper.class);	public static final EntityResolver DEFAULT_DTD_RESOLVER = new DTDEntityResolver();	private DOMReader domReader;	private SAXReader saxReader;	/**	 * Create a dom4j SAXReader which will append all validation errors	 * to errorList	 */	public SAXReader createSAXReader(String file, List errorsList, EntityResolver entityResolver) {		if (saxReader==null) saxReader = new SAXReader();		saxReader.setEntityResolver(entityResolver);		saxReader.setErrorHandler( new ErrorLogger(file, errorsList) );		saxReader.setMergeAdjacentText(true);		saxReader.setValidation(true);		return saxReader;	}	/**	 * Create a dom4j DOMReader	 */	public DOMReader createDOMReader() {		if (domReader==null) domReader = new DOMReader();		return domReader;	}	public static class ErrorLogger implements ErrorHandler {		private String file;		private List errors;		ErrorLogger(String file, List errors) {			this.file=file;			this.errors = errors;		}		public void error(SAXParseException error) {			log.error( "Error parsing XML: " + file + '(' + error.getLineNumber() + ") " + error.getMessage() );			errors.add(error);		}		public void fatalError(SAXParseException error) {			error(error);		}		public void warning(SAXParseException warn) {			log.warn( "Warning parsing XML: " + file + '(' + warn.getLineNumber() + ") " + warn.getMessage() );		}	}	public static Element generateDom4jElement(String elementName) {		return DocumentFactory.getInstance().createElement( elementName );	}	public static void dump(Element element) {		try {			// try to "pretty print" it			OutputFormat outformat = OutputFormat.createPrettyPrint();			XMLWriter writer = new XMLWriter( System.out, outformat );			writer.write( element );			writer.flush();			System.out.println( "" );		}		catch( Throwable t ) {			// otherwise, just dump it			System.out.println( element.asXML() );		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -