2008-12-12 8 views

Répondre

10

La solution.

En JAXB la mise en œuvre ValidationEventHandler comme ceci:

class CustomValidationEventHandler implements ValidationEventHandler{ 

    public boolean handleEvent(ValidationEvent evt) { 
     System.out.println("Event Info: "+evt); 
     if(evt.getMessage().contains("Unexpected element")) 
      return true; 
     return false; 
    } 

} 

Puis

Unmarshaller u = ...; 

u.setEventHandler(new CustomValidationEventHandler()); 

u.unmarshal(new StringReader(xml)); 
+2

Dans mon cas "if (evt.getMessage(). Contains (" élément inattendu "))" devrait être "if (evt.getMessage(). ToLowerCase(). Contains (" élément inattendu "))" ". Je ne sais pas pourquoi mais le message de l'événement arrive parfois en minuscules. – veysiertekin

+1

Cela ne fonctionne pas. Je reçois toujours la même erreur. –

Questions connexes