SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
XML Y JAVA

   »   Prácticas
XML y Java
• Contenido
  − SAX: Construcción de un analizador simple SAX: SimpleSax
Prácticas
• Ejemplo de eventos SAX:
               XML Document                  SAX Objects

   <?xml version=“1.0”?>                   startDocument

   <pizzas>                       Parser   startElement
    <pizza>                       Parser   startElement
     <ingred>Tomate</ingred>      Parser   startElement & characters

     <ingred>…………</ingred>        Parser   startElement & characters

    </pizza>                      Parser   endElement

    <pizza>                       Parser   startElement
     <ingred>Tomate</ingred>      Parser   startElement & characters

     <ingred>…………</ingred>        Parser   startElement & characters

    </pizza>                      Parser   endElement
   </pizzas>                      Parser   endElement & endDocument
SAX

»   SimpleSax
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
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…
Prácticas
• Resultados que
  esperamos:
SAX

»   TituloPeliculas
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
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.
Prácticas
• Captura de la salida correcta del programa:
SAX

»   SinopsisPelicula
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).
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.
Prácticas
• Hacemos un Build y probamos el proyecto copiando de
  nuevo el archivo video.xml al directorio dist
  correspondiente

• Ejecución esperada:
SAX

»   DetectaError
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.
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.
Prácticas
• El comportamiento esperado es:
SAX

»   ValidandoSax
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.
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.
Prácticas
• La ejecución esperada es:
DOM

»   SimpleDom
»   Videoclub
»   Videoclub2
»   SinopsisDom
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>
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
Prácticas
• Resultados esperados
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.
Prácticas
• Resultados esperados
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.
Prácticas
• Resultados esperados:
JDOM

»   CrearArbolJDom
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.
Prácticas
• Resultados esperados
FIN

Mais conteúdo relacionado

Mais procurados

Java Primeros Pasos Revista- Edición 2
Java Primeros Pasos Revista- Edición 2Java Primeros Pasos Revista- Edición 2
Java Primeros Pasos Revista- Edición 2guest39ff1b
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo WebEmilio Aviles Avila
 
Maven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásMaven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásCristian Romero Matesanz
 
Introducción al framework Symfony
Introducción al framework SymfonyIntroducción al framework Symfony
Introducción al framework SymfonyAlejandro Hernández
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelDomingo Suarez Torres
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPJavier López López
 
Un ejemplo sencillo con ejb
Un ejemplo sencillo con ejbUn ejemplo sencillo con ejb
Un ejemplo sencillo con ejblalov777
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)Domingo Suarez Torres
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7Luis Ruiz Pavón
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
PHP Tema 1 - Introducción
PHP Tema 1 - IntroducciónPHP Tema 1 - Introducción
PHP Tema 1 - IntroducciónSpacetoshare
 

Mais procurados (20)

Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Java Primeros Pasos Revista- Edición 2
Java Primeros Pasos Revista- Edición 2Java Primeros Pasos Revista- Edición 2
Java Primeros Pasos Revista- Edición 2
 
Java desde cero maven
Java desde cero mavenJava desde cero maven
Java desde cero maven
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Maven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásMaven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerás
 
Introducción al framework Symfony
Introducción al framework SymfonyIntroducción al framework Symfony
Introducción al framework Symfony
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache Camel
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHP
 
Un ejemplo sencillo con ejb
Un ejemplo sencillo con ejbUn ejemplo sencillo con ejb
Un ejemplo sencillo con ejb
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
 
Migraciones en WordPress
Migraciones en WordPressMigraciones en WordPress
Migraciones en WordPress
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Como hacer de todo con PowerShell
Como hacer de todo con PowerShellComo hacer de todo con PowerShell
Como hacer de todo con PowerShell
 
Webutil
WebutilWebutil
Webutil
 
Maven
MavenMaven
Maven
 
PHP Tema 1 - Introducción
PHP Tema 1 - IntroducciónPHP Tema 1 - Introducción
PHP Tema 1 - Introducción
 

Destaque

Mates i català enquesta projecte
Mates i català enquesta projecteMates i català enquesta projecte
Mates i català enquesta projectesomelsde6
 
Dia da criança na EC 29
Dia da criança na EC 29Dia da criança na EC 29
Dia da criança na EC 29Ana Silva
 
They broke a window
They broke a windowThey broke a window
They broke a windowalanV8
 
Guía de Redacción de Pasantía
Guía de Redacción de PasantíaGuía de Redacción de Pasantía
Guía de Redacción de PasantíaAlexander Perdomo
 
Projeto - Construção de Nação Sustentável
Projeto - Construção de Nação SustentávelProjeto - Construção de Nação Sustentável
Projeto - Construção de Nação Sustentávelforumsustentar
 
I Mostra Cultural e Educativa da EC 29
I Mostra Cultural e Educativa da EC 29I Mostra Cultural e Educativa da EC 29
I Mostra Cultural e Educativa da EC 29Ana Silva
 
Aew sustentar 2011 ricardo camargo
Aew   sustentar 2011 ricardo camargoAew   sustentar 2011 ricardo camargo
Aew sustentar 2011 ricardo camargoforumsustentar
 
Презентация Цікал Н.І.
Презентация Цікал Н.І.Презентация Цікал Н.І.
Презентация Цікал Н.І.Tamara Emec
 

Destaque (20)

Rencana buah
Rencana buahRencana buah
Rencana buah
 
Mates i català enquesta projecte
Mates i català enquesta projecteMates i català enquesta projecte
Mates i català enquesta projecte
 
Deneme Sunumu
Deneme SunumuDeneme Sunumu
Deneme Sunumu
 
Dia da criança na EC 29
Dia da criança na EC 29Dia da criança na EC 29
Dia da criança na EC 29
 
They broke a window
They broke a windowThey broke a window
They broke a window
 
Mountbatten Certificate
Mountbatten CertificateMountbatten Certificate
Mountbatten Certificate
 
Axel bruns gatewatching
Axel bruns gatewatchingAxel bruns gatewatching
Axel bruns gatewatching
 
Coach Kevin Donuts
Coach Kevin DonutsCoach Kevin Donuts
Coach Kevin Donuts
 
Guía de Redacción de Pasantía
Guía de Redacción de PasantíaGuía de Redacción de Pasantía
Guía de Redacción de Pasantía
 
Projeto - Construção de Nação Sustentável
Projeto - Construção de Nação SustentávelProjeto - Construção de Nação Sustentável
Projeto - Construção de Nação Sustentável
 
Eletiva 1º encontro
Eletiva 1º encontroEletiva 1º encontro
Eletiva 1º encontro
 
I Mostra Cultural e Educativa da EC 29
I Mostra Cultural e Educativa da EC 29I Mostra Cultural e Educativa da EC 29
I Mostra Cultural e Educativa da EC 29
 
Maquetes 5ºa
Maquetes 5ºaMaquetes 5ºa
Maquetes 5ºa
 
Deus sabe ok
Deus sabe      okDeus sabe      ok
Deus sabe ok
 
Sustantivos
SustantivosSustantivos
Sustantivos
 
Monica quijano
Monica quijanoMonica quijano
Monica quijano
 
Aew sustentar 2011 ricardo camargo
Aew   sustentar 2011 ricardo camargoAew   sustentar 2011 ricardo camargo
Aew sustentar 2011 ricardo camargo
 
Презентация Цікал Н.І.
Презентация Цікал Н.І.Презентация Цікал Н.І.
Презентация Цікал Н.І.
 
Porto 1979
Porto 1979Porto 1979
Porto 1979
 
Facebook
FacebookFacebook
Facebook
 

Semelhante a 6/9 Curso JEE5, Soa, Web Services, ESB y XML (20)

WSO2 DSS - JENKINS
WSO2 DSS - JENKINSWSO2 DSS - JENKINS
WSO2 DSS - JENKINS
 
introduccion-a-netbeans
introduccion-a-netbeansintroduccion-a-netbeans
introduccion-a-netbeans
 
1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans
 
Manual de Netbeans
Manual de NetbeansManual de Netbeans
Manual de Netbeans
 
1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans
 
1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans
 
Introduccion a netbeans
Introduccion a netbeansIntroduccion a netbeans
Introduccion a netbeans
 
Tutorial neatbeans(3)
Tutorial neatbeans(3)Tutorial neatbeans(3)
Tutorial neatbeans(3)
 
Tutorial neatbeans(3)
Tutorial neatbeans(3)Tutorial neatbeans(3)
Tutorial neatbeans(3)
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Netbeans manual
Netbeans manual Netbeans manual
Netbeans manual
 
1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans
 
manual de netbeans
manual de netbeansmanual de netbeans
manual de netbeans
 
MANUAL NETBEANS 2
MANUAL NETBEANS 2MANUAL NETBEANS 2
MANUAL NETBEANS 2
 
manual 1
manual 1manual 1
manual 1
 
MANUAL
MANUAL MANUAL
MANUAL
 
Manualnetbeans2 141006101152-conversion-gate02jjj
Manualnetbeans2 141006101152-conversion-gate02jjjManualnetbeans2 141006101152-conversion-gate02jjj
Manualnetbeans2 141006101152-conversion-gate02jjj
 
Manual netbeans 2
Manual netbeans 2Manual netbeans 2
Manual netbeans 2
 
MANUAL NETBEANS
MANUAL NETBEANSMANUAL NETBEANS
MANUAL NETBEANS
 
MANUAL DE NETBEANS
 MANUAL DE NETBEANS MANUAL DE NETBEANS
MANUAL DE NETBEANS
 

Mais de Juan Carlos Rubio Pineda

Ebe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nubeEbe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nubeJuan Carlos Rubio Pineda
 
Redes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de AndalucíaRedes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de AndalucíaJuan Carlos Rubio Pineda
 
Supercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de HuelvaSupercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de HuelvaJuan Carlos Rubio Pineda
 
Seminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque ISeminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque IJuan Carlos Rubio Pineda
 
8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XML2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
Guadalinex con colinux y Tecnología Nomachine NX
Guadalinex con colinux y Tecnología Nomachine NXGuadalinex con colinux y Tecnología Nomachine NX
Guadalinex con colinux y Tecnología Nomachine NXJuan Carlos Rubio Pineda
 

Mais de Juan Carlos Rubio Pineda (20)

Ebe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nubeEbe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nube
 
Gdg 2013
Gdg 2013Gdg 2013
Gdg 2013
 
Anexo seguridad tic-centrorespaldo
Anexo seguridad tic-centrorespaldoAnexo seguridad tic-centrorespaldo
Anexo seguridad tic-centrorespaldo
 
Continuidad de sistemas
Continuidad de sistemasContinuidad de sistemas
Continuidad de sistemas
 
Redes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de AndalucíaRedes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de Andalucía
 
Redes lan1: cableado (orden 25/9/2007)
Redes lan1: cableado (orden 25/9/2007)Redes lan1: cableado (orden 25/9/2007)
Redes lan1: cableado (orden 25/9/2007)
 
Zentyal curso-ja
Zentyal curso-jaZentyal curso-ja
Zentyal curso-ja
 
Supercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de HuelvaSupercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
 
Seminario metodologías agiles bloque II
Seminario metodologías agiles bloque IISeminario metodologías agiles bloque II
Seminario metodologías agiles bloque II
 
Seminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque ISeminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque I
 
8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML
 
7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
 
2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XML2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XML
 
5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 
Curso Ejb3
Curso Ejb3Curso Ejb3
Curso Ejb3
 
Guadalinex con colinux y Tecnología Nomachine NX
Guadalinex con colinux y Tecnología Nomachine NXGuadalinex con colinux y Tecnología Nomachine NX
Guadalinex con colinux y Tecnología Nomachine NX
 
Exportador S I C A C V N 1
Exportador S I C A  C V N 1Exportador S I C A  C V N 1
Exportador S I C A C V N 1
 
Sistema de colas Condor en CICA
Sistema de colas Condor en CICASistema de colas Condor en CICA
Sistema de colas Condor en CICA
 

Último

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

6/9 Curso JEE5, Soa, Web Services, ESB y XML

  • 1. XML Y JAVA » Prácticas
  • 2. XML y Java • Contenido − SAX: Construcción de un analizador simple SAX: SimpleSax
  • 3. Prácticas • Ejemplo de eventos SAX: XML Document SAX Objects <?xml version=“1.0”?> startDocument <pizzas> Parser startElement <pizza> Parser startElement <ingred>Tomate</ingred> Parser startElement & characters <ingred>…………</ingred> Parser startElement & characters </pizza> Parser endElement <pizza> Parser startElement <ingred>Tomate</ingred> Parser startElement & characters <ingred>…………</ingred> Parser startElement & characters </pizza> Parser endElement </pizzas> Parser endElement & endDocument
  • 4. SAX » SimpleSax
  • 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…
  • 8. SAX » TituloPeliculas
  • 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.
  • 11. Prácticas • Captura de la salida correcta del programa:
  • 12. SAX » SinopsisPelicula
  • 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:
  • 16. SAX » DetectaError
  • 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.
  • 20. SAX » ValidandoSax
  • 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.
  • 32. JDOM » CrearArbolJDom
  • 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.
  • 35. FIN