Tengo XML como cadena y un XSD como archivo, y necesito validar el XML con el XSD. ¿Cómo puedo hacer esto?realizando validación xml contra xsd
5
A
Respuesta
1
Puede utilizar las API para este javax.xml.validation:
String xml = "<root/>"; // XML as String
File xsd = new File("schema.xsd"); // XSD as File
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(xsd);
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setSchema(schema);
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
xr.parse(new InputSource(new StringReader(xml)));
9
Puede utilizar la API javax.xml.validation para hacer esto.
public boolean validate(String inputXml, String schemaLocation)
throws SAXException, IOException {
// build the schema
SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
File schemaFile = new File(schemaLocation);
Schema schema = factory.newSchema(schemaFile);
Validator validator = schema.newValidator();
// create a source from a string
Source source = new StreamSource(new StringReader(inputXml));
// check input
boolean isValid = true;
try {
validator.validate(source);
}
catch (SAXException e) {
System.err.println("Not valid");
isValid = false;
}
return isValid;
}
+0
perfecto para mis usos - gracias – thonnor
Cuestiones relacionadas
- 1. Error al validar XML contra XSD
- 2. Validar XML contra el software XSD
- 3. Validar un xml contra xsd con JS/jQuery
- 4. Validar xml creado usando jaxb contra un archivo xsd
- 5. La forma más eficaz de validar XML contra XSD
- 6. Validación de Xml con el esquema XSD
- 7. Validación XML con Schematron/XSD en C#
- 8. Validación XSD automática
- 9. ¿Cómo validar big xml contra el esquema xsd?
- 10. puede validar xsd contra xml en vs 2010?
- 11. ¿Cómo validar xml contra xsd y obtener errores * ALL *?
- 12. Validar XML contra XSD en un único método
- 13. validación de xsd con schematron
- 14. Validar XML con XSD
- 15. Validación XML utilizando XSD con el patrón de expresión regular
- 16. Herramienta para la validación del esquema XML XSD
- 17. Validación Java xsd de xml sin espacio de nombres
- 18. Validación XML contra una DTD dada en PHP
- 19. Validación de XML contra una DTD en Javascript?
- 20. validación de esquema XML
- 21. MSXML VBA: validación de XML contra XSD: "El '' espacio de nombres proporcionado difiere del targetNamespace del esquema ''.
- 22. Desactivar la validación XSD de archivos de resorte
- 23. Validar XML contra XSD e ignorar el orden de los elementos secundarios
- 24. Validar un XML contra un XSD en Java/Obtener un control del schemaLocation
- 25. generar xml desde xsd
- 26. Validación del mensaje SOAP contra WSDL con múltiples XSD's
- 27. suministrados al validar XML con XSD
- 28. XML DTD/Esquema de la validación en Maven
- 29. Validación de XML - Usar múltiples xsd's
- 30. eclipse: valide xml con xsd
O u necesidad de un archivo XML en lugar de cuerdas y de lo que puede validar el XML con XSD, hay un montón de herramientas disponibles como JAXB 2.x, etc Xrces –