En este artículo utilizaré un pequeño ejemplo para explicar cómo manipular documentos XML usandoXERCES Java Parser. En este primer ejemplo usaré el API DOM, y la utilizaremos para generar un archivo XML y guardarlo en disco, y posteriormente procesaremos (parsearemos) dicho archivo para leer su información.
Nota: Sino tienes claro qué es un parser XML, qué es un API XML para Java y cuáles están disponibles, o aún tienes algunas dudas en relación con Java y XML, puedes/debes leer este pequeño artículo.
Generación de archivos XML usando Xerces
En esta ocasión utilizaremos el API DOM para generar un archivo XML, que guardará información acerca de un listado de descargas ficticio. Como resultado, nuestra aplicación generará el siguiente documento XML:
01 | xml version = "1.0" encoding = "ISO-8859-1" ?>
|
04 | < titulo >Libros Java titulo > |
09 | < titulo >Libros C Sharp titulo > |
En el cual tenemos un elemento llamado descarga que contiene un atributo llamado id; además posee tres nodos hijos: titulo, ruta y hits. Teniendo en cuenta esto crearemos un pequeño bean (claseDescargas.java), que contiene dichos datos:
01 | public class Descargas { |
04 | private String titulo; |
08 | public Descargas( int id, String titulo, String ruta, int hits){ |
15 | public void setID( int id) { |
Más adelante utilizaremos la clase GenerarXML.java, quien se encargará de crear el archivo XML. De momento detallaremos los pasos básicos para realizar tareas de ese tipo:
- Crear los objetos a cargar en el documento XML (en nuestro ejemplo, objetos tipo Descargas)
- Crear un objeto Document que contendrá el documento XML
- Generar los datos XML para los objetos creados en primer paso
- Crear un archivo (o salida) XML
En nuestro ejemplo, la invocación a los métodos que realizan estas tareas se encuentra en el métodomain:
01 | public static void main(String args[]) |
03 | GenerarXML generador = new GenerarXML(); |
08 | generador.generaDocumentoXML(); |
10 | generador.generarDocumentoXMLDescarga(descarga); |
11 | generador.generarDocumentoXMLDescarga(descarga2); |
13 | String textoXML = generador.obtenerTextoXML(); |
14 | generador.guardarDocumentoXML(textoXML); |
15 | System.out.println(textoXML); |
Hola interesante tu post, me gustaria saber como puedo serializar ese archivo xml para enviarlo por sockets
ResponderEliminar