Comment valider un XML par rapport au schéma en utilisant JAXB?
Je suis en train de travailler avec XML
et JAXB
que je suis unmarshalling et sérialisation XML en objets Java et vice versa. Maintenant, je suis en train de valider notre XML à l'encontre de notre schéma(test.xsd). Supposons que si un champ obligatoire est manquant dans mon XML, alors je voudrais savoir quel champ est manquant après la validation du XML à l'encontre du schéma de test.xsd.
public void unmarshal(final InputStream is) {
final XMLInputFactory factory = XMLInputFactory.newInstance();
final XMLStreamReader reader = factory.createXMLStreamReader(is);
Object req = unmarshaller.unmarshal(reader);
//how would I validate here?
}
Comment puis-je valider mon XML à l'encontre de test.schéma xsd. Mon test.schéma xsd chemin est -
C:\workspace\one\two\three\src\main\java\com\package\serv\ap\versionOne\test.xsd
Mise à JOUR: essai de chargement.xsd:
Schema schema = factorySchema.newSchema(new File("C:\\workspace\\one\\two\\three\\src\\main\\java\\com\\package\\serv\\ap\\versionOne\\test.xsd"));
source d'informationauteur AKIWEB
Vous devez vous connecter pour publier un commentaire.
Il vous suffit de définir une instance de
javax.xml.la validation.Le schéma
sur leUnmarshaller
avant de faire le unmarshal. Vous pouvez spécifier une mise en œuvre deValidationEventHandler
sur leUnmarshaller
pour attraper tous les problèmes qui se produisent au cours de la unmarshal processus.Pour Plus D'Informations
J'ai écrit plus sur ce cas d'utilisation sur mon blog: