SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
MAURO GOMEZ MEJIA
IX SEMESTRE INGENIERIA DE SISTEMAS




                                             Ingenio DS
                             Programando Soluciones
                          http://ingeniods.wordpres.com
DOM nace del W3C, desde el
principio de los navegadores cada
cual hacia lo que quería, como lo
quería (aun sucede) así que a los
diseñadores les figuraba, escribir
pagina para navegadores, o dicho de
otra forma una para Netscape, una       DOM nace para estandarizar la forma
para IE…                                en que se relacionan navegador-
                                        documento-elemento.

                                        En primera instancia fue diseñado para
                                        HTML - JavaScript; y es DOM el que
                                        permite hacer esto:

                                      document.div[0]




                                                                           Ingenio DS
                                                           Programando Soluciones
                                                        http://ingeniods.wordpres.com
JDOM,      teniendo  en    cuenta    las
complicaciones y falencias que tienen       JDOM no es un Wrapper Java
SAX y DOM. Vienen dos pelaos (Jason         de DOM y tampoco es un
Hunter y Brett McLaughlin) y desarrollan    parser, el una librería que
JDOM, aunque habían             muchas      permite manipular documentos
aplicaciones que necesitaban un formato     XML en Java, se basa en dos
especifico: DOM Tree o SAX Event así        librerías la DOM y la SAX
que JDOM da soporte para estos.             (estas si son parsers XML).


                      JDOM utiliza los parsers:
                      • Crimson.
                      • DOM.
                      • JAXP.
                      • Xerces.        JDOM utiliza internamente las
                      • XML4J.         estructuras de datos:
                                       • List.
                                       • Map.
                                                                       Ingenio DS
                                                       Programando Soluciones
                                                    http://ingeniods.wordpres.com
Para cargar documentos
      existen varios métodos los • build (java.io.File file).
      que prefiero usar son:     • build (java.io.Reader characterStream).
                                 De la clase SAXBuilder
build (java.io.File file): recibe
como parámetro un File que
supone es el documento XML        File  file_xml=new File(“midoc.xml”);
                                    SAXBuilder builder = new SAXBuilder();
                                    Document doc= builder.build(file_xml);

  build (java.io.Reader characterStream):
  recibe como parámetro un Reader que
  es una source de caracteres o dicho de
  otra manera un String se supone es
  representativo de un documento XML
                         String str_xml=“<?xml version="1.0" encoding="UTF-8" ?>”;
                         SAXBuilder builder = new SAXBuilder();
                         Document doc= builder.build(new StringReader(str_xml));

                                                                                Ingenio DS
                                                                Programando Soluciones
                                                             http://ingeniods.wordpres.com
Para crear documentos es tan fácil e intuitivo como
debería serlo témenos dos clases Document, y
Element
           Y hasta ahora nada nuevo tenemos que un documento solo debe
           tener un elemento raíz.


     Tanto al documento como a los
     elementos       podemos   agregarles
     contenido, este contenido puede ser
     texto u otro elemento.
                                  Document docXML = new Document();
                                  Element root = new Element("root");
                                  root.addContent(new Element("child"));
                                  docXML.addContent(root);




                                                                              Ingenio DS
                                                              Programando Soluciones
                                                           http://ingeniods.wordpres.com
Para sacar el Document del aplicativo al mundo
tenemos que pasarlo a un fichero (obvio) y esto
sucede usando la clase XMLOutputter y la case
Format

           La clase XMLOutputter se encarga de convertir el Document a
           String.

La clase Format de especificar el
formato en como generará este String,
dicho de otra forma espacios saltos de
línea y esas cosas .
                         /* contamos con que docXML es de tipo
                         Document y ya ha sido inicializado*/

                            Format format = Format.getPrettyFormat();
                            XMLOutputter xmloutputter = new XMLOutputter(format);
                            String stringXML = xmloutputter.outputString(docXML);

Ya con este String podemos hacer lo que
queramos ej.: Enviarlo a un fichero o a una BD o a                           Ingenio DS
las preferencias, etc…                                       Programando Soluciones
                                                          http://ingeniods.wordpres.com
Para validar el documento XML contra un DTD se usa la
   clase DocType, así mismo como el elemento doctype esta
   sirve para lo mismo ahora como sucede la validación
En el caso planteado.
                       DocType docType = new DocType(„‟root„‟,‟‟midtd.dtd‟‟);


 /* contamos con que docXML es de tipo
 Document y ya ha sido inicializado*/

           DocType docType = new DocType(„‟root„‟,‟‟midtd.dtd‟‟);
           docXML.setDocType(docType);
           String str_xml=/*convertimos a string docXML*/;
           SAXBuilder builder=new SAXBuilder(true);
           /*reconstruimos y realiza la validación automativa*/
           docXML=builder.build(new StringReader(convertirXML(str_xml)));


                              En caso de no ser valido lanzara una
                              JDOException

                                                                                  Ingenio DS
                                                                  Programando Soluciones
                                                               http://ingeniods.wordpres.com
Para validar el documento XML contra un XSD se setea un
           atributo de la misma SAXBuilder
      En el caso planteado. Con XSD local

SAXBuilder builder=new SAXBuilder(true);
String propiedad= "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";
builder.setProperty (propiedad, " mixsd.xsd");



     El resto es igual al caso anterior
                                                 /* contamos con que docXML es de tipo
                                                 Document y ya ha sido inicializado*/

        String str_xml=/*convertimos a string docXML*/;
        /*reconstruimos y realiza la validación automativa*/
        docXML=builder.build(new StringReader(convertirXML(str_xm)));


     En caso de no ser valido lanzara una                                       Esta manera puede
     JDOException                                                               no siempre funcionar



                                                                                           Ingenio DS
                                                                           Programando Soluciones
                                                                        http://ingeniods.wordpres.com
Para validar el documento XML contra un XSD podemos
            crear una instancia de un javax.xml.validation.Schema
       En el caso planteado. Con XSD local

String nonames=XMLConstants.W3C_XML_SCHEMA_NS_URI;
SchemaFactory schemaFactory = SchemaFactory.newInstance(nonames);
Schema schema = schemaFactory.newSchema(new File(xsd_dir));
                                                         Con XMLConstants.W3C_XML_SCHEMA_NS_URI decimos
                                                         usaremos un Schema local
 SchemaFactory.newInstance(nonames);//creamos nuestra «caja» de Schemas
                                                           schemaFactory.newSchema(new File(xsd_dir)); //obtenemos
                                                           nuestro Schema de la «caja»

Validator validator = schema.newValidator();
validator.validate(new StreamSource(new File(“midocumento.xml")));

                                      schema.newValidator();//del Schema obtenemos un validador


          validator.validate(new StreamSource(new File(“midocumento.xml"))); //Validamos


                                En caso de no ser valido lanzara una
                                JDOException                                                       Ingenio DS
                                                                                   Programando Soluciones
                                                                                http://ingeniods.wordpres.com
Para buscar elementos o contenidos con JDOM pues
       tocaría buscarlos elementos a elemento
                JDOM presta soporte para jaxen que es una biblioteca para
                consultas xpath en Java

Con una instancia de la clase org.jdom.xpath.XPath
XPath xp = XPath.newInstance("sentencia xpath");


                                     Esta clase para buscar elementos, implementa
                                     los metodos

    /*buscar un elemento que concuerden con nuestra sentencia*/
    Element element =(Element) xp.selectSingleNode(document);

    /*buscar todos los elementos que concuerden con nuestra sentencia*/
    List list = xp.selectNodes(document);




                                                                                     Ingenio DS
                                                                     Programando Soluciones
                                                                  http://ingeniods.wordpres.com
XML

      DTD
XSD                          CRUD en JDOM
            XPATH

      JDOM
                    Ingenio DS JDOM I


                                        Ingenio DS JDOM II

                       Ingenio DS JDOM III




                                                                Ingenio DS
                                                Programando Soluciones
                                             http://ingeniods.wordpres.com
Ingenio DS
Programando Soluciones
http://ingeniods.wordpres.com

Más contenido relacionado

La actualidad más candente

Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetosJorge Ercoli
 
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDesarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDidier Granados
 
Formularios y Validaciones
Formularios y ValidacionesFormularios y Validaciones
Formularios y ValidacionesDidier Granados
 
Sistema Ado.Net
Sistema Ado.NetSistema Ado.Net
Sistema Ado.NetPersonal
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1Laura Noussan Lettry
 
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Liz Ocampo
 
XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semánticaguest86406e2
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAlfredo Joya
 
Jean piere sarumo mongodb
Jean piere sarumo mongodbJean piere sarumo mongodb
Jean piere sarumo mongodbJean Sarumo
 
FORMATO XML
FORMATO XMLFORMATO XML
FORMATO XMLLoncin
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Byron Quisquinay
 
POOABD (POO Aplicada a B Datos) - RDBMS parte 2
POOABD (POO Aplicada a B Datos) - RDBMS parte 2POOABD (POO Aplicada a B Datos) - RDBMS parte 2
POOABD (POO Aplicada a B Datos) - RDBMS parte 2Laura Noussan Lettry
 

La actualidad más candente (20)

Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
 
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a ObjetosDesarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
Desarrollo de Aplicaciones Web II - Sesión 04 - Programación Orientada a Objetos
 
Formularios y Validaciones
Formularios y ValidacionesFormularios y Validaciones
Formularios y Validaciones
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
Sistema Ado.Net
Sistema Ado.NetSistema Ado.Net
Sistema Ado.Net
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 1
 
Datos En La Web - Clase 2
Datos En La Web - Clase 2Datos En La Web - Clase 2
Datos En La Web - Clase 2
 
Xml json yaml
Xml json yamlXml json yaml
Xml json yaml
 
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
 
Bases de Datos - Parte 9/10 XML
Bases de Datos - Parte 9/10 XMLBases de Datos - Parte 9/10 XML
Bases de Datos - Parte 9/10 XML
 
Base de datos moviles
Base de datos movilesBase de datos moviles
Base de datos moviles
 
XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semántica
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basic
 
Jean piere sarumo mongodb
Jean piere sarumo mongodbJean piere sarumo mongodb
Jean piere sarumo mongodb
 
FORMATO XML
FORMATO XMLFORMATO XML
FORMATO XML
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
POOABD (POO Aplicada a B Datos) - RDBMS parte 2
POOABD (POO Aplicada a B Datos) - RDBMS parte 2POOABD (POO Aplicada a B Datos) - RDBMS parte 2
POOABD (POO Aplicada a B Datos) - RDBMS parte 2
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Trabajo xml
Trabajo xmlTrabajo xml
Trabajo xml
 
LENGUAJE TRANSACT SQL
 LENGUAJE TRANSACT SQL LENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQL
 

Similar a XML con J de JDOM

Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdfJyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdfJyoc X
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptprofesoralpe4
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Jorge Ulises
 
CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)Darwin Durand
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#Jordan-P
 
Mallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDBMallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDBEmilio Torrens
 
Working with Files, Streams, and Serialization.pdf
Working with Files, Streams, and Serialization.pdfWorking with Files, Streams, and Serialization.pdf
Working with Files, Streams, and Serialization.pdfeudilac1
 
Desarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetDesarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetMaestros en Linea
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSIan Monge Pérez
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones JavaIker Canarias
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j queryPablo Viteri
 
Desarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetDesarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetMaestros Online
 

Similar a XML con J de JDOM (20)

Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdfJyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5
 
CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)
 
Clase 8 Manipulación del DOM
Clase 8 Manipulación del DOMClase 8 Manipulación del DOM
Clase 8 Manipulación del DOM
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#
 
Mallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDBMallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDB
 
My batis
My batisMy batis
My batis
 
Working with Files, Streams, and Serialization.pdf
Working with Files, Streams, and Serialization.pdfWorking with Files, Streams, and Serialization.pdf
Working with Files, Streams, and Serialization.pdf
 
Lectura de un archivo xml de manera local en wp
Lectura de un archivo xml de manera local en wpLectura de un archivo xml de manera local en wp
Lectura de un archivo xml de manera local en wp
 
Desarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetDesarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internet
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones Java
 
Lenguaje XML
Lenguaje XMLLenguaje XML
Lenguaje XML
 
Html5, css3, java script
Html5, css3, java scriptHtml5, css3, java script
Html5, css3, java script
 
REPORTES
REPORTESREPORTES
REPORTES
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j query
 
Exposicion
ExposicionExposicion
Exposicion
 
Curso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.jsCurso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.js
 
Desarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internetDesarrollo de aplicaciones en internet
Desarrollo de aplicaciones en internet
 

XML con J de JDOM

  • 1. MAURO GOMEZ MEJIA IX SEMESTRE INGENIERIA DE SISTEMAS Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 2. DOM nace del W3C, desde el principio de los navegadores cada cual hacia lo que quería, como lo quería (aun sucede) así que a los diseñadores les figuraba, escribir pagina para navegadores, o dicho de otra forma una para Netscape, una DOM nace para estandarizar la forma para IE… en que se relacionan navegador- documento-elemento. En primera instancia fue diseñado para HTML - JavaScript; y es DOM el que permite hacer esto: document.div[0] Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 3. JDOM, teniendo en cuenta las complicaciones y falencias que tienen JDOM no es un Wrapper Java SAX y DOM. Vienen dos pelaos (Jason de DOM y tampoco es un Hunter y Brett McLaughlin) y desarrollan parser, el una librería que JDOM, aunque habían muchas permite manipular documentos aplicaciones que necesitaban un formato XML en Java, se basa en dos especifico: DOM Tree o SAX Event así librerías la DOM y la SAX que JDOM da soporte para estos. (estas si son parsers XML). JDOM utiliza los parsers: • Crimson. • DOM. • JAXP. • Xerces. JDOM utiliza internamente las • XML4J. estructuras de datos: • List. • Map. Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 4. Para cargar documentos existen varios métodos los • build (java.io.File file). que prefiero usar son: • build (java.io.Reader characterStream). De la clase SAXBuilder build (java.io.File file): recibe como parámetro un File que supone es el documento XML File file_xml=new File(“midoc.xml”); SAXBuilder builder = new SAXBuilder(); Document doc= builder.build(file_xml); build (java.io.Reader characterStream): recibe como parámetro un Reader que es una source de caracteres o dicho de otra manera un String se supone es representativo de un documento XML String str_xml=“<?xml version="1.0" encoding="UTF-8" ?>”; SAXBuilder builder = new SAXBuilder(); Document doc= builder.build(new StringReader(str_xml)); Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 5. Para crear documentos es tan fácil e intuitivo como debería serlo témenos dos clases Document, y Element Y hasta ahora nada nuevo tenemos que un documento solo debe tener un elemento raíz. Tanto al documento como a los elementos podemos agregarles contenido, este contenido puede ser texto u otro elemento. Document docXML = new Document(); Element root = new Element("root"); root.addContent(new Element("child")); docXML.addContent(root); Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 6. Para sacar el Document del aplicativo al mundo tenemos que pasarlo a un fichero (obvio) y esto sucede usando la clase XMLOutputter y la case Format La clase XMLOutputter se encarga de convertir el Document a String. La clase Format de especificar el formato en como generará este String, dicho de otra forma espacios saltos de línea y esas cosas . /* contamos con que docXML es de tipo Document y ya ha sido inicializado*/ Format format = Format.getPrettyFormat(); XMLOutputter xmloutputter = new XMLOutputter(format); String stringXML = xmloutputter.outputString(docXML); Ya con este String podemos hacer lo que queramos ej.: Enviarlo a un fichero o a una BD o a Ingenio DS las preferencias, etc… Programando Soluciones http://ingeniods.wordpres.com
  • 7. Para validar el documento XML contra un DTD se usa la clase DocType, así mismo como el elemento doctype esta sirve para lo mismo ahora como sucede la validación En el caso planteado. DocType docType = new DocType(„‟root„‟,‟‟midtd.dtd‟‟); /* contamos con que docXML es de tipo Document y ya ha sido inicializado*/ DocType docType = new DocType(„‟root„‟,‟‟midtd.dtd‟‟); docXML.setDocType(docType); String str_xml=/*convertimos a string docXML*/; SAXBuilder builder=new SAXBuilder(true); /*reconstruimos y realiza la validación automativa*/ docXML=builder.build(new StringReader(convertirXML(str_xml))); En caso de no ser valido lanzara una JDOException Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 8. Para validar el documento XML contra un XSD se setea un atributo de la misma SAXBuilder En el caso planteado. Con XSD local SAXBuilder builder=new SAXBuilder(true); String propiedad= "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation"; builder.setProperty (propiedad, " mixsd.xsd"); El resto es igual al caso anterior /* contamos con que docXML es de tipo Document y ya ha sido inicializado*/ String str_xml=/*convertimos a string docXML*/; /*reconstruimos y realiza la validación automativa*/ docXML=builder.build(new StringReader(convertirXML(str_xm))); En caso de no ser valido lanzara una Esta manera puede JDOException no siempre funcionar Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 9. Para validar el documento XML contra un XSD podemos crear una instancia de un javax.xml.validation.Schema En el caso planteado. Con XSD local String nonames=XMLConstants.W3C_XML_SCHEMA_NS_URI; SchemaFactory schemaFactory = SchemaFactory.newInstance(nonames); Schema schema = schemaFactory.newSchema(new File(xsd_dir)); Con XMLConstants.W3C_XML_SCHEMA_NS_URI decimos usaremos un Schema local SchemaFactory.newInstance(nonames);//creamos nuestra «caja» de Schemas schemaFactory.newSchema(new File(xsd_dir)); //obtenemos nuestro Schema de la «caja» Validator validator = schema.newValidator(); validator.validate(new StreamSource(new File(“midocumento.xml"))); schema.newValidator();//del Schema obtenemos un validador validator.validate(new StreamSource(new File(“midocumento.xml"))); //Validamos En caso de no ser valido lanzara una JDOException Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 10. Para buscar elementos o contenidos con JDOM pues tocaría buscarlos elementos a elemento JDOM presta soporte para jaxen que es una biblioteca para consultas xpath en Java Con una instancia de la clase org.jdom.xpath.XPath XPath xp = XPath.newInstance("sentencia xpath"); Esta clase para buscar elementos, implementa los metodos /*buscar un elemento que concuerden con nuestra sentencia*/ Element element =(Element) xp.selectSingleNode(document); /*buscar todos los elementos que concuerden con nuestra sentencia*/ List list = xp.selectNodes(document); Ingenio DS Programando Soluciones http://ingeniods.wordpres.com
  • 11. XML DTD XSD CRUD en JDOM XPATH JDOM Ingenio DS JDOM I Ingenio DS JDOM II Ingenio DS JDOM III Ingenio DS Programando Soluciones http://ingeniods.wordpres.com