jump to navigation

Acceder al XML con SAX Abril 17, 2010

Publicado por lineadecodigo en : Java , trackback

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);

Articulos Similares:

|- Descargar el código
|- Reportar error en el código
|- Foro sobre SAX

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 893 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (Todavia sin evaluar)
Loading ... Loading ...

Comentarios»

Todavía no hay comentarios. ¿Quieres ser el primero?




Si tienes dudas sobre SAX no dudes en visitar el Foro sobre SAX.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen