5. Prácticas
• Nuestra primera práctica consiste en construir un
analizador de XML simple, basándonos en la API Sax.
• Será algo así como el “HolaMundo” pero con la API
Sax….
• Crearemos un nuevo proyecto en Netbeans:
− File->New Project->General->Java Application
• Lo llamaremos 04SimpleSax.
• En el campo Create Main Class, estableceremos
simplesax.SimpleSax
6. Prácticas
• Antes de continuar, debemos ir a las propiedades del
proyecto y añadir xerces-2.8.0.jar.
• El código fuente está en el directorio de prácticas (base-
SimpleSax.txt), junto con el archivo “video.xml” para
poder comprobar su funcionamiento.
• Tendremos que hacer un build y movernos al directorio
dist para ejecutarlo, con la sentencia:
java –jar 04SimpleSax.jar videoclub.xml
• Contamos con que ese archivo también lo hemos
copiado a esa ubicación…
9. Prácticas
• En esta práctica, construiremos un analizador que
recorra el XML “video.xml” y muestre la siguiente
información acerca de cada película:
• Título
• Año de rodaje
• Duración
• Para ello, en NetBeans iremos a
File->New Project->General->Java Application
• Le daremos el nombre: 04TituloPeliculas.
• En el campo “create main class”, le daremos este valor:
sax.videoclub.TituloPeliculas
10. Prácticas
• Una vez hecho esto, nos vamos a las propiedades del
proyecto y le añadimos la librería xerces-2.8.0.jar.
• Ahora tomamos el fichero “base-TituloPeliculas.txt” y
arreglamos los errores que NetBeans informa.
• Hacemos un Build y probamos el proyecto copiando de
nuevo el archivo video.xml al directorio dist
correspondiente.
13. Prácticas
• En esta práctica, construiremos un analizador que
recorra el XML “video.xml” y muestre la siguiente
información acerca de cada película:
• Título
• Año de rodaje
• Sinopsis
• Por lo tanto, extraeremos información de dos atributos y
extraeremos el campo de datos, o información textual,
lo cual llevaremos a cabo mediante el método
characters).
14. Prácticas
• Para ello, en NetBeans iremos a
File->New Project->General->Java Application
• Le daremos el nombre: 04SinopsisPelicula.
• En el campo “create main class”, le daremos este valor:
sax.videoclub.SinopsisPelicula
• nos vamos a las propiedades del proyecto y le añadimos la
librería xerces-2.8.0.jar.
• Ahora tomamos el fichero “base-SinopsisPeliculas.txt” y
arreglamos los errores que NetBeans informa.
• Hacemos un Build y probamos el proyecto copiando de nuevo el
archivo video.xml al directorio dist correspondiente.
15. Prácticas
• Hacemos un Build y probamos el proyecto copiando de
nuevo el archivo video.xml al directorio dist
correspondiente
• Ejecución esperada:
17. Prácticas
• Ahora hemos hecho prácticas con manejadores de
contenido (ContentHandlers). Ahora vamos a hacer una
práctica con Manejadores de Errores (ErrorHandler).
• Para ello, creamos un nuevo proyecto de aplicación
java, con el nombre: “04DetectaError”. El campo Create
Main Class, lo llenamos con sax.DetectaError.
• Una vez más, agregamos la librería xerces-2.8.0.jar a
nuestro proyecto.
• Rellenaremos el esqueleto de la clase DetectaError con
el archivo base-DetectaError.txt. Solucionaremos los
problemas que dicte Netbeans.
18. Prácticas
• Haremos click derecho sobre el nombre del paquete (sax) y
elegimos crear una nueva clase java.
• Le otorgamos el nombre MiErrorHandler.
• Copiamos el contenido de base-MiErrorHandler.txt y arreglamos
los errores que dicte Netbeans.
• Hacemos build del proyecto y nos dirigimos a su directorio dist.
Copiamos en él, el archivo video.xml.
• Hacemos comprobaciones con el documento original y con
errores en ese documento, para testear su comportamiento. En el
ejemplo, “video2.xml” es una copia con errores.
21. Prácticas
• En el ejemplo anterior, por mucho que “estropeemos” el
documento XML, lo normal es que obtengamos un error fatal.
• Los warnings y errores normales se producen cuando un
documento está bien formado pero no es válido, cotejándolo con
su DTD.
• Crearemos un nuevo proyecto, con el nombre: 04ValidandoSax.
El campo Create Main Class, lo llenamos con
sax.ValidandoError.
• Una vez más, añadimos la librería xerces-2.8.0.jar
• Llenaremos esa clase con el archivo
base-ValidandoError, y solucionaremos lo errores que dicte
Netbeans.
22. Prácticas
• Ahora, hacemos click derecho en el nombre del
paquete (sax), y creamos una nueva clase java, que se
llame MiErrorHandler. Resolvemos los errores que dicte
Netbeans.
• Hacemos un build y nos movemos al directorio dist.
• Copiamos en él los archivos departamento*
• Efectuamos pruebas para comprobar el funcioamiento
de la validación de documentos en base a un DTD con
los distintos archivos XML.
24. DOM
» SimpleDom
» Videoclub
» Videoclub2
» SinopsisDom
25. Prácticas
• El primer proyecto se llamará 04SimpleDom, y el create
main class será dom.SimpleDom.
• El fuente es: base-SimpleDom.txt
• Usamos el archivo video.xml
• Hacemos build y vamos al directorio dist para probar
como video.xml
• Sólo debe mostrar:
C:CursoSOA04SimpleDomdist>java -jar 04SimpleDom.jar video.xml
Analizando el documento: video.xml...
C:CursoSOA04SimpleDomdist>
26. Prácticas
• El siguiente proyecto se llamará 04Videoclub, y el
create main class será dom.Videoclub.
• El fuente es: base-Videoclub.txt
• Usamos el archivo video.xml
• Hacemos build y vamos al directorio dist para probar
como video.xml
28. Prácticas
• Ahora probamos la aproximación haciendo uso del
método getElementsByTagName, de
org.w3c.dom.Node.
• El proyecto se llamará 04Videoclub2, y el create main
class será dom.Videoclub2
• El fuente es base-Videoclub2.txt, y debemos tomar
como fichero para probar, video.xml.
• Debemos obtener el mismo resultado que antes.
30. Prácticas
• Nos queda obtener la sinopsis.
• Creamos el proyecto: 04SinopsisDom, y en create main
class, establecemos dom.Sinopsis
• Tomamos el archivo base-Sinopsis.txt.
• Tomamos el archivo video.xml.
• Build y probamos.
33. Práctica
• Vamos a crear un proyecto llamado 04CrearArbolJDom,
y en create main class, establecemos
jdom.CrearArbolJDom.
• Añadimos la librería jdom-1.0.jar
• Usamos el archivo base-CrearArbolJDom.txt
• Hacemos build y ejecutamos para ver el árbol creado.