feed twitter facebook LinkedIn facebook

Java » Acceder al XML con SAX

Abril 17, 2010 por Víctor Cuervo . 3262 visitas Sin Comentarios Imprimir Imprimir

SAX es un parser que nos permite analizar documentos XML. Su caracteristica principal es que está basado en eventos. Eventos como inicio de etiqueta, fin de etiqueta, contenido de etiqueta,.....

SAX nos proporcionará ese conjunto de eventos y nosostros deberemos de ver qué realizar en cada uno de ellos.

En este primer ejemplo lo que haremos será simplemente volcar el contenido de cada una de las etiquetas que se encuentre el analizador. Para ello echaremos mano del evento characters...

  1. public void characters(char[] ch, int start, int len)
  2. throws SAXException{...}

Este evento es disparado cada vez que el analizador se encuentra el contenido de una etiqueta. Los parámetros que recibe son: la cadena encontrada como cadena de caracteres (ch), el inicio en dicha cadena (start) y la longitud de la misma (len). Hay que tener cuidado y controlar que no se produzca la excepción SAXException.

Nosotros volcaremos el contenido del elemento a pantalla...

  1. System.out.println(new String(ch,start,len));

El conjunto de eventos posibles a manejar se deberán de agrupar en lo que SAX denomina Handler o Manejador. La clase que tiene los eventos por defecto es DefaultHandler. A si que nosostros crearemos un “manejador” que herede de DefaultHandler, en el cual implementaremos la funcionalidad que nos interese de los eventos.

  1. public class MiManejador extends DefaultHandler {}

Una vez que nos hemos creado el manejador, deberemos de crear la aplicación que utilice dicho manejador para analizar el documento. Esta será una aplicación Java normal de consola.

Lo primero que necesitamos es el parser (analizador). Para ello deberemos de instanciar una factoría de parsers, a la cual le pediremos que nos porporcione uno para analizar nuestro documento XML.

  1. SAXParserFactory factory = SAXParserFactory.newInstance();
  2. parser = factory.newSAXParser();

Posteriormente deberemos de configurar el analizardor. Para ello le indicaremos cual es el fichero que contiene el XML y el manejador que hemos implementado para analizar dicho XML.

  1. MiManejador manejador = new MiManejador();
  2. parser.parse(is, manejador);
Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre SAX
Foro sobre SAX
tags: , , ,

Artículos relacionados:

No Comments yet »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*