2010-12-11 4 views
1

Tout en travaillant avec JAXB 2.0 je suis tombé sur une requête que je suis incapable de résoudre à ce jour, tout en faisant la validation j'ai 2 optionsJAXB 2.0 Validation Question

1) Soit dès que je l'ai trouvé l'erreur jeter le exception comme je l'ai fait. 2) Aller de l'avant s'il y a une erreur ou une validation et je suppose que c'est le meilleur moyen car cela aidera à montrer toutes les erreurs ou les warings par rapport à l'ensemble du XML. mais puisque ce processus implique également unmarshalling signifie qu'il sera unmarshalling mon XML fourni est respecté Object même s'il y a une erreur ou avertissement.so tout signifie un travail supplémentaire ..

Ma question est est-ce un moyen pour que je puisse faire la validation entière et si elle est successfull seulement que si le XML correspondant se lier à des classes POJO respectés

grâce à l'avance

Répondre

0

Vous pouvez utiliser les API de javax.xml.validation pour valider un document XML par rapport à un schéma XML . Vous pouvez choisir de masquer à nouveau cet objet en utilisant JAXB.

Vous trouverez ci-dessous un exemple d'utilisation de ces API. Dans cet exemple, l'entrée est en fait un modèle d'objet, mais vous pouvez l'adapter pour travailler avec n'importe quelle entrée XML.

+0

Bien que je suis capable de le traiter à l'aide d'un drapeau quelle est la méthode que vous avez mentionné dans votre blog ne sera pas unmarshaal même s'il y a une norme validation..since JAXB fait que si il y a aussi une erreur –

+0

Je ne suis pas sûr de comprendre. Ma suggestion basée sur ma compréhension de vos exigences était de valider d'abord en dehors de JAXB (en utilisant javax.xml.validation). Si cette validation a abouti, essayez de ne pas utiliser JAXB. –

+0

Ok, super je pensais d'une autre manière et oui c'est ce que je veux depuis que je développe un assistant basé sur l'importation donc d'abord je dois faire la validation séparément .. Essayera votre chemin il semble plus pratique et flexible que ce que Jaxb a actuellement –