DOM4J es una API Java XML, similar a JDOM, que se usa para leer y escribir archivos XML. DOM4J es una API Java XML muy, muy excelente, con un rendimiento excelente, funciones potentes y extremadamente fácil de usar. También es un software de código abierto. Ahora, cada vez más software Java está utilizando DOM4J para leer y escribir XML. Vale la pena mencionar particularmente que incluso el JAXM de Sun está usando DOM4J. Este es un paquete jar de uso obligatorio.
Lo anterior dijo que DOM4J es tan excelente y fácil de usar. Entonces, a partir de hoy, compartiré con ustedes algunos usos de DOM4J.
Las principales interfaces de DOM4J se definen en el paquete org.dom4j:
Para comprender este conjunto de interfaces, la clave es comprender la relación de herencia de la interfaz:
La lectura y la redacción de documentos XML dependen principalmente del paquete org.dom4j.io, que proporciona dos formas diferentes de Dom Reader y SaxReader, pero el método de llamada es el mismo. Este es el beneficio de confiar en las interfaces.
// Leer XML desde el archivo, ingrese el nombre del archivo y devuelva el documento del documento XML Public Document Read (String FileName) lanza MalFormedUreLException, DocumentException {SaxReader Reader = new Saxreader (); Documento documento = lector.read (nuevo archivo (nombre de archivo)); documento de retorno; } El método de lectura del lector se sobrecarga y se puede leer a través de diferentes parámetros, como InputStream, File, URL, etc. El objeto de documento resultante enumera todo el XML completo.
Según mi propia experiencia, la lectura de codificación de personajes se convierte de acuerdo con la codificación definida en el encabezado del archivo XML. Si se encuentra con problemas de código confuso, tenga cuidado de mantener los nombres de codificación en varios lugares consistentes.
El siguiente ejemplo es que la clase Saxreader lee un archivo XML a través de InputStream:
El archivo XML a leer:
<? xml versión = "1.0" encoding = "utf-8"?> <Eftaft> <db-info> <driver-name> oracle.jdbc.driver.oracledriver </controlador-name> <url> jdbc: oracle: fin: @localhost: 1522: mydb </ url> <serer> drp </user-name <contraseña <baseña </dbinfo> </form>
Clases que leen archivos XML:
paquete com.util; import java.io.inputstream; import java.util.hashmap; import java.util.list; import java.util.map; importar org.dom4j.document; importar org.dom4j.documentException; importar org.dom4j.Element; importar org.dom4j.io.saxreader; / ** * PARSE SYS-config.xml archivo * @author ronaldinho * */ public class xmlconfigreader {// Lazy private static xmlconfigreader instancia = null; // Guardar información relacionada con JDBC private jdbcconfig jdbcconfig = new jdbcconfig (); privado xmlconfigreader () {// crea un objeto saxreador saxreader lector = new saxreader (); // Use el cargador de clase del hilo actual para obtener la ruta relativa del archivo y lea la transmisión de entrada bustificada InputStream in = Thread.CurrentThread (). GetContextClassLoader (). GetResourCeasstream ("Sys-Config.xml"); Pruebe {// lea el documento del archivo XML a través de la transmisión doc = Reader.read (in); // leer JDBC InformationElement DrivernameElt = (Element) Doc.SelectObject ("/config/db-Info/Driver-Name"); Elemento urlelt = (elemento) doc.selectObject ("/config/db-info/url"); Element UserNameElt = (Element) doc.selectObject ("/config/db-Info/user-name"); Element Passwordelt = (Element) doc.selectObject ("/config/db-Info/contraseña"); // establecer información relacionada con JDBC jdbcconfig.setDrivername (DrivernameElt.getStringValue ()); jdbcconfig.seturl (urlelt.getStringValue ()); jdbcconfig.setUsername (usernameElt.getStringValue ()); jdbcconfig.setpassword (contraseñaelt.getStringValue ()); } catch (DocumentException e) {E.PrintStackTrace (); }} public static static sincronizado xmlconfigreader getInStance () {if (instance == null) {instancia = new xmlconfigreader (); } instancia de retorno; }}El método anterior es generar un objeto a través del patrón Singleton, que instancia un saxador, y luego carga el archivo XML en la transmisión. Luego conviértalo en un objeto de documento a través del método Read () de SaxReader. Luego use este objeto de documento para obtener el valor del nodo en el archivo XML.
Hoy presentaré brevemente el uso de DOM4J para leer archivos XML. Te hablaré sobre otros usos más tarde. No te preocupes, a todos.
PD: ¡Todos son bienvenidos para criticarme y corregirme!
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.