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

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

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 21:05:12934parcourir

How to Validate XML Files Against XSD Schemas in Java?

Comment garantir que les fichiers XML adhèrent aux schémas XSD

Vérifier la validité des fichiers XML par rapport aux schémas XSD prédéfinis est essentiel pour garantir l'intégrité des données et respect des normes. En Java, vous pouvez utiliser les capacités de validation intégrées de la bibliothèque d'exécution.

Utilisation de javax.xml.validation.Validator

Pour effectuer la validation, utilisez le Classe Validator du package javax.xml.validation. Cette classe fournit un mécanisme puissant pour vérifier la conformité d'un fichier XML à un schéma XSD.

L'extrait de code suivant montre comment valider un fichier XML :

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.IOException;

// Define the XML and XSD file sources
URL schemaFile = new URL("http://host:port/filename.xsd");
Source xmlFile = new StreamSource(new File("web.xml"));

// Create a SchemaFactory and Schema
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(schemaFile);

// Get a Validator and perform validation
Validator validator = schema.newValidator();
try {
    validator.validate(xmlFile);
    System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException e) {
    System.out.println(xmlFile.getSystemId() + " is NOT valid reason:" + e);
} catch (IOException e) {}

Ce code valide le déploiement WAR descripteur par rapport au schéma XSD spécifié. Vous pouvez facilement l'adapter pour vérifier n'importe quel fichier XML par rapport au XSD souhaité.

Évitez DOMParser pour la validation

Il est important de noter que l'utilisation de DOMParser pour la validation n'est pas recommandée. sauf si vous avez l'intention de créer un modèle objet DOM. DOMParser créera des objets DOM pendant l'analyse, ce qui peut être inutile si vous n'en avez pas besoin.

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!

Déclaration:
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