Maison >Java >javaDidacticiel >Comment valider XML par rapport à un XSD en Java ?
La validation de documents XML par rapport à un fichier XSD (XML Schema Definition) est cruciale pour garantir l'intégrité des données et la conformité aux normes spécifiées. Ce didacticiel approfondira les capacités de la bibliothèque d'exécution Java pour la validation XML et fournira un exemple concret d'utilisation de la classe javax.xml.validation.Validator.
Le La bibliothèque d'exécution Java offre des capacités de validation XML robustes via l'API javax.xml.validation. La classe javax.xml.validation.Validator constitue la pierre angulaire de cette API, permettant aux développeurs de valider des documents XML par rapport à un schéma donné.
L'extrait de code suivant montre comment valider un fichier XML par rapport à un XSD schéma :
import javax.xml.XMLConstants; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.*; import java.net.URL; import org.xml.sax.SAXException; //import java.io.File; // if you use File import java.io.IOException; ... // Define the XSD schema URL URL schemaFile = new URL("http://host:port/filename.xsd"); // Create a Source object for the XML file to be validated Source xmlFile = new StreamSource(new File("web.xml")); // Create a SchemaFactory instance SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); try { // Create a Schema object from the XSD schema Schema schema = schemaFactory.newSchema(schemaFile); // Create a Validator object from the Schema object Validator validator = schema.newValidator(); // Validate the XML file against the schema validator.validate(xmlFile); // Print a success message if validation is successful System.out.println(xmlFile.getSystemId() + " is valid"); } catch (SAXException e) { // Print an error message if validation fails due to an error System.out.println(xmlFile.getSystemId() + " is NOT valid reason:" + e); } catch (IOException e) { // Handle IOException if file is not found or cannot be read }
Il convient de noter que l'utilisation du DOMParser pour la validation n'est pas recommandée si l'objectif n'est pas de créer un modèle objet DOM. Cette approche peut conduire à une consommation inutile de ressources et ne constitue pas une méthode de validation efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!