SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Similar 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 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
 
NEAT1
NEAT1NEAT1
NEAT1
 

Más 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
 

Más 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

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (19)

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

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