Comment faire de JAXB unmarshaller d'ignorer les préfixes?

J'ai le code XML suivant:

<ns2:Person name="John" age="20" />

Et je veux unmarshal à JAXB objet Personne qui a été généré à partir du fichier XSD.

c'est le code, je suis en cours d'exécution:

JAXBContext context = JAXBContext.newInstance(PersoEntity.class);
Unmarshaller um = context.createUnmarshaller();
StringReader sr = new StringReader(xml);
Person p = (Person)um.unmarshal(sr);

Étonnamment j'obtiens l'exception suivante:

javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException: The prefix "ns2" for element "ns2:Person" is not bound.]

Comment puis-je le résoudre? Grâce

vous n'posté une balise xml... est-ce vraiment votre cas, je.e vous voulez unmarshall juste ce segment (ou il y a tout un document xml, qui devrait avoir xmlns:ns2 défini) ?
vous l'aurez deviné, seulement ce segment est ce que je veux

OriginalL'auteur Nimrod Dayan | 2012-08-15