Indexar documentos XML

Para indexar documentos XML no necesitamos ninguna herramienta ni API especial. La API de Java trae incluido un analizador sintáctico (parser) de XML. Simplemente tenemos que importar lo siguiente:

import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

El uso de estas bibliotecas se puede ver en sucesivos post, en el código de ejemplo.

Hay muchas otras opciones para extraer XML, en este ejemplo se ha optado por la simplicidad. Lo que se lleva a cabo es extraer el contenido del fichero XML completo como texto plano e indexarlo.

No es la mejor opción, puesto que el contenido de muchas etiquetas está repetido y no es necesario. Para realizar un buen análisis de un documento XML genérico habría que utilizar por ejemplo, las funciones de XPath.

Otra opción válida si el documento XML no es genérico, sino que está bien definido es realizar una extracción del contenido sabiendo los nombres de las etiquetas principales (ver ejemplo de extracción de XML).

1 comentarios:

Hola.
Me ha surgido una duda al indexar con SAX un fichero .xml.

Con el siguiente codigo XML:

< text lang="es" type="clientes">

< div1 id="VIP">
< p> cliente1 < /p>
< p> cliente2 < /p>
< /div1>

< div1 id="NO VIP">
< p> cliente3 < /p>
< p> cliente4 < /p>
< /div1>

< /text>

Como puedo conservar la estructura de "arbol" a la hora de buscar un cliente me diga si dicho cliente es VIP o NO VIP, el lugar que ocupa de la lista de clientes VIP o NO VIP(el cliente1 seria el 1º, el cliente 2 el 2º...etc).

No se si me he explicado bien pero lo que me gustaría es por ejemplo si busco cliente2 me diga pues un cliente VIP y esta el 2º en la lista de clientes VIP...

¿Como se podría hacer esto?

Saludos

24 de febrero de 2009, 18:05  

Entrada más reciente Entrada antigua Inicio