Vous êtes sur la bonne voie en regardant les javax.xml.transform
API. Une Transformer
prend son entrée à partir d'un objet qui implémente Source
et envoie sa sortie à un objet qui implémente Result
, et il y a JAXBSource
et JAXBResult
classes qui soutiendront le cas d'utilisation que vous êtes après
MySourceJaxbClass sourceObject = // ...
Transformer transformer = transformerFactory.newTransformer(xsltSource);
JAXBContext context = // however you need to create your context
Source src = new JAXBSource(context, sourceObject);
JAXBResult res = new JAXBResult(context);
transformer.transform(src, res);
MyTargetJaxbClass resultObject = (MyTargetJaxbClass)res.getResult();
Bien sûr, vous don Il n'est pas nécessaire d'utiliser le même JAXBContext
à la fois pour la source et le résultat - s'il s'agit de hiérarchies de classes sans rapport, il peut être plus judicieux d'utiliser un contexte distinct pour chacune.
Veuillez lire l'aide en posant une question - http://stackoverflow.com/help/on-topic –
Avez-vous essayé d'utiliser le XSLT Transformer? – Priyesh
Salut Priyesh, oui, je l'ai considéré. Mais j'ai seulement trouvé l'exemple et les guides pour le faire à partir d'un fichier XML ou d'un fichier XML mais pas d'une instance d'une classe Java vers une nouvelle instance d'une autre classe Java. Des idées? – user2417250