Ir al contenido principal

Procesando XML en Java [Xerces] - I

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:

01xml version="1.0" encoding="ISO-8859-1"?>
02<Descargas>
03 <descarga id="1">
04 <titulo>Libros Javatitulo>
06 <hits>2546hits>
07 descarga>
08 <descarga id="2">
09 <titulo>Libros C Sharptitulo>
11 <hits>1654hits>
12 descarga>
13Descargas>

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:

01public class Descargas {
02 //Variables
03 private int id;
04 private String titulo;
05 private String ruta;
06 private int hits;
07 //Constructor de la clase
08 public Descargas(int id, String titulo, String ruta, int hits){
09 this.id = id;
10 this.titulo = titulo;
11 this.ruta = ruta;
12 this.hits = hits;
13 }
14 //Metodos Setters y Getters
15 public void setID(int id) {
16 this.id = id;
17 }
18 public int getID() {
19 return this.id;
20 }
21 //etc... (AL FINAL DEL ARTÍCULO PUEDES DESCARGAR EL EJEMPLO COMPLETO)
22}

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:

01public static void main(String args[])
02{
03 GenerarXML generador = new GenerarXML();
04 // A. Crear el objeto(s) a Descargas
05 Descargas descarga = new Descargas(1, "Libros Java","http://casidiablo.net/libros.zip", 2546);
06 Descargas descarga2 = new Descargas(2, "Libros C Sharp","http://casidiablo.net/libroscs.zip", 1654);
07 // B. Generar un documento XML usando Document
08 generador.generaDocumentoXML();
09 // C. Generar XML para el/los objeto(s)
10 generador.generarDocumentoXMLDescarga(descarga);
11 generador.generarDocumentoXMLDescarga(descarga2);
12 // D. Obtener el código XML
13 String textoXML = generador.obtenerTextoXML();
14 generador.guardarDocumentoXML(textoXML);
15 System.out.println(textoXML);
16}

Comentarios

  1. Hola interesante tu post, me gustaria saber como puedo serializar ese archivo xml para enviarlo por sockets

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Primer CodeLab de Web Services con Mule ESB, JAX WS, SOAP, WSDL, Spring

Primer CodeLab de Web Services usando [ Mule ESB , JAX WS , SOAP , WSDL , Spring ]. en este post no hablaré nada teórico sobre Mule , ya que ello lo pueden encontrar Googleando, será un lab totalmente práctico. Requisitos: - JDK  1.6 - MuleStudio - soapUI Paso a Paso para crear Web Services con Mule : 1. Crear proyecto Mule ( MuleStudio ):  Next > Next > Next > Finish 2.- Crear el Objeto Producto.java package com.dmotta.mule.labuno.mulelabuno.bo; import java.io.Serializable; public class Producto implements Serializable { private String id; private String nombre; private String marca; private String descripcion; public Producto() { } public Producto(String id, String nombre, String marca, String descripcion) { this.id=id; this.nombre=nombre; this.marca=marca; this.descripcion=descripcion; } //getters/setters } 3.- Crear la Interface que publicará los métodos listarProductos() y getDetalleProdu...

RESTful Webservices con Java (Jersey / JAX-RS) - Tutorial Uno

REST con Java (JAX-RS) usando Jersey Este articulo explica como desarrollar RESTful web services en Java con JAX-RS implementacion de Jersey. En este ejemplo se usara SpringSource Tools Suite(Eclipse Helios), Java 1.6, SpringSource TC Server and JAX-RS 1.1. (Jersey 1.4). 1. REST - Representational State Transfer 1.1 Informacion General: En una Arquitectura REST tipicamente se tiene un REST server , el cual provee acceso a los Clientes REST  que acceden a consultar, modificar un Recurso REST . REST permite que los recursos sean presentados en diferentes tipos de datos, "text, html, xml, JSON" .  El Cliente REST  puede generar una peticion de un tipo de dato via el protocolo HTTP. 1.2. HTTP metodos Los metodos estandar HTTP usados en en REST son  PUT, GET, POST, DELETE. 1.3. RESTFul webservices Un RESTFul webservices es basados en metodos HTTP y en el concepto REST.  Por lo general se define URI base para los servicios, los MIME-types sus...