|
|
Escrito por
Ivan
el 26/12/2006
Hola, Soy un novato en esto del xml y no sé muy bien como se valida un fichero xml utilizando java. He leido que se puede utilizar la api de DOM o de SAX pero no encuentro ningún ejemplo de como pasandole la DTD del fichero xml a validar, estos metodos lo hacen, quiero decir si esta api tiene algún metodo que teniendo la dtd, valide el fichero xml q subo a un servidor por ejemplo, sin necesidad de recorrerlo yo, mirando etiqueta por etiqueta. A ver si alguien me puede orientar un pokillo, Gracias de antemano. |
|
|
Citar |
Ver mensaje
|
|
Escrito por
Javier
el 06/02/2007
Puedes usar SAX para validar desde un esquema xsd pero desde un dtd no lo sé
|
|
Escrito por
Roberto
el 22/05/2007
Hola Javier, Acabo de leer tu mensaje y estoy muy interesado en lo que cuentas. Podrías indicarme un poco más en detalle cómo se puede validar un fichero XML a partir de su XMLSchema (xsd) con llamadas a funciones Java. ¿Qué librerías importar? ¿Qué funciones usar? Muchas gracias por anticipado |
|
Escrito por
Sara
el 22/05/2007
Hola, yo también estoy trabajando en esto de manipular xml mediante java, uso jaxb, y netbeans 5. 5, pero aun no se como funciona exactamente, si me podeis mandar un ejemplo, os lo agradecería. ¿Que errores te dan? Gracias. |
|
Escrito por
Kaisser
el 17/10/2007
Hola, yo tambien estoy muy interesado. Siento no poder aportar ayuda. Quiero validar un xml con su xsd desde java, pero ni idea de como hacerlo. Encontré esto: http://www.adictosaltrabajo.com/tutoriales/tutoriales. Php? Pagina=schemaxml Pero no es exactamente lo que busco, quiero algo que pueda integrar en mi aplicación. Salu2 y esperemos que alguien nos pueda ayudar. Gracias. |
|
|
Escrito por
Ana
el 03/12/2007
Hola! Yo tambien estoy intentando validar un xml con su xsd, pero no tngo ni idea de lo que tngo q hacer. En JAva, claroo. Tengo creado mi xml y su xsd, pero ya no sé seguir... El proyecto es para montarlo en Eclipse. Si alguien me puede mandar un ejemplo de codigo o algo, se lo agradeceria.... Xaooo |
|
|
Escrito por
Dani
el 05/12/2007
Hola, estoy en mi trabajo y me encuentro perdida, quiero aprender a validar un XML con un XSD, ¿Alguien sabe cómo lo puedo hacer?. Trabajo con weblogic. Por favor que alguien me ayude, estoy perdida!
|
|
|
Escrito por
Ivan
el 05/12/2007
Hola, Un ejemplo de como se valida un fichero xml con una dtd o con una xsd, con librerias jdom: Import org. Jdom. *; Public class Ejemplo { public boolean validar(String ficheroXml){ boolean valido=false; File f=null; try{ f=new File(ficheroXml); }catch (JDOMException e){ System.out.println("Documento XML mal formado o incorrecto. "); } } } Si salta una excepcion JDOMException es que el fichero no cumple la dtd o la xsd. Lógicamente la dtd o xsd tiene que estar referenciada dentro del documento xml y en una ruta que se pueda encontrar, lo mejor ponerlo todo, fichero xml y dtd o xsd en el mismo directorio. Aproximadamente esto puede funcionar. Un saludo. |
|
Escrito por
Felis
el 28/12/2007
Hola aqui os dejo otra forma de validar el fichero Xml contra el Xsd, pasando las rutas de los ficheros al metodo de validacion, que directamente devoverá un boleano con el resultado de la operacion. " public class FicoRuXsdVsXml { private static boolean validarXmlvsXsd(String sFichXml, String sFichXsd) { boolean bIsXmlOk = false; boolean NAME_SPACE_AWARE = true; boolean VALIDATING = true; String SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; String SCHEMA_LANGUAGE_VAL = "http://www.w3.org/2001/XMLSchema"; String SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource"; String sCtrlErr =""; try { Reader xmlReader = new FileReader(sFichXml); Reader xsdReader = new FileReader(sFichXsd); SAXParserFactory factory = SAXParserFactory. NewInstance(); // Configure SAXParserFactory to provide parsers that are namespace aware. factory. SetNamespaceAware(NAME_SPACE_AWARE); // Configure SAXParserFactory to provide parsers that are validating. This property // must have the value true for any of the property strings defined below to take // effect. factory. SetValidating(VALIDATING); SAXParser parser = factory. NewSAXParser(); // Setting the schema language for xml schema validation parser. SetProperty(SCHEMA_LANGUAGE, SCHEMA_LANGUAGE_VAL); // Setting the schema source for xml schema validation parser. SetProperty(SCHEMA_SOURCE, new InputSource(xsdReader)); DefaultHandler handler = new XmlDefaultHandler(); parser. Parse(new InputSource(xmlReader), handler); // si procesa todo el metodo sin producir excepcion, el fichero xml // es correcto. bIsXmlOk = true; } catch (FactoryConfigurationError e) { sCtrlErr = "{" + e. ToString() + "}. ";} catch (ParserConfigurationException e) { sCtrlErr = "{" + e. ToString() + "}. ";} catch (SAXException e) { sCtrlErr = "{" + e. ToString() + "}. ";} catch (IOException e) { sCtrlErr = "{" + e. ToString() + "}. ";} return bIsXmlOk; } public static class XmlDefaultHandler extends DefaultHandler { /** @see org.xml.sax. ErrorHandler#error(SAXParseException)*/ public void error(SAXParseException spe) throws SAXException { throw spe; } /** @see org.xml.sax. ErrorHandler#fatalError(SAXParseException)*/ public void fatalError(SAXParseException spe) throws SAXException { throw spe; } } } Un saludo, espero que os sirva. Suko
|
|
|
Escrito por
Jose Bovet
el 15/04/2008
Aqui como valido los xml con Jaxb, retorna true si es válido.. /*************************************************************************** |
|
Escrito por
Rodrop
el 22/08/2008
Hola a todos, He estado probando los codigos y JAXB me ha funcionado bien pero no reconoce el ISO-8859-15 (he probado con ISO-8859-1 y funciona ok), sabeis de alguna forma u otro codigo para que funcione con este estandar? Por los otros dos: jdom no me reconocia ni la primera etiqueta del xml (Error de que tenia que declararla, el fichero esta validado con xml-spy y ahora con jaxb y me sale el mismo error). Y el segundo me sale el siguiente error error :java.lang.IllegalArgumentException: No attributes are implemented. No se si estoy utilizando bien las librerias. Haber si me podeis echar una mano con ISO-8859-15, muchas gracias. |
|
Escrito por
Noelita
el 8 de Julio
Stoy en un proyecto final q tengo q validar un archivo excel en java. |
|
Al escribir en el debate:
|