Maison > Java > javaDidacticiel > Comment puis-je valider des fichiers XML par rapport aux schémas XSD en Java ?

Comment puis-je valider des fichiers XML par rapport aux schémas XSD en Java ?

Susan Sarandon
Libérer: 2024-12-03 13:17:10
original
725 Les gens l'ont consulté

How Can I Validate XML Files Against XSD Schemas in Java?

Validation des fichiers XML par rapport aux schémas XSD

Pour garantir la validité des fichiers XML générés par rapport à un schéma XSD donné, il est nécessaire d'effectuer une vérification . La bibliothèque d'exécution Java prend en charge cette validation.

Utilisation de javax.xml.validation.Validator

La classe javax.xml.validation.Validator offre un mécanisme pratique pour validation des documents XML par rapport aux schémas XSD. Voici un exemple d'utilisation :

import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import java.net.URL;

// Instantiate the schema factory
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

// Load the XSD schema from a URL
URL schemaFile = new URL("http://host:port/filename.xsd");
Schema schema = schemaFactory.newSchema(schemaFile);

// Load the XML file to be validated
Source xmlFile = new StreamSource(new File("web.xml"));

// Create a new validator
Validator validator = schema.newValidator();

try {
  // Validate the XML document
  validator.validate(xmlFile);
  System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException e) {
  System.out.println(xmlFile.getSystemId() + " is NOT valid reason:" + e);
}
Copier après la connexion

Remarque : La constante XMLConstants.W3C_XML_SCHEMA_NS_URI définit les schémas XSD. Dans l'exemple ci-dessus, le fichier XML web.xml est validé par rapport à l'URL du schéma http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd. Vous pouvez modifier l'URL du fichier de schéma en fonction de votre scénario spécifique.

Éviter DOMParser pour la validation

Il est important d'éviter d'utiliser DOMParser pour la validation seule. Le DOMParser crée des objets DOM lors de l'analyse du document, ce qui peut être inutile si vous n'avez pas l'intention d'utiliser ces objets. Utilisez plutôt la classe Validator pour effectuer une 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal