comment marshaler un objet JAXB à org.w3c.dom.Document?
Cela me donne de l'objet Document avec un nœud de haut niveau avec pas de nœuds enfants:
public static Document getDocument(Object jaxb)
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//dbf.setNamespaceAware(true);
Document doc = dbf.newDocumentBuilder().newDocument();
JAXBContext context = JAXBContext.newInstance(jaxb.getClass());
context.createMarshaller().marshal(jaxb, doc);
return doc;
}
C'est la solution de contournement, ce qui semble encore plus inefficace, car il convertit en Chaîne, puis de Document.
public static Document getDocument(Object jaxb)
{
StringWriter writer = new StringWriter();
JAXBContext context = JAXBContext.newInstance(jaxb.getClass());
context.createMarshaller().marshal(jaxb, writer);
return DocumentBuilderFactory.newInstance().newDocumentBuilder().
parse(new InputSource(new StringReader(writer.toString()));
}
Est-il possible d'accomplir ce que je suis en train d'accomplir?
source d'informationauteur J Smith
Vous devez vous connecter pour publier un commentaire.
Ce que vous faites devrait fonctionner. Voici un exemple:
Modèle De Domaine (Foo)
Démo
Sortie
essayer cette