Constantine Gladky
Constantine Gladky

Reputation: 1263

How to marshall JAXBElement<Object> into org.w3c.dom.Element in Java using JAXB

I need to get Element object with request. I have ObjectFactory. I created an JAXBElement, and I need to marshall it to Element. Could anyone help me?

Upvotes: 7

Views: 14130

Answers (2)

poseidon
poseidon

Reputation: 320

In addition to Ian's answer, I suppose to first create a Document, as the unchecked cast can be omitted this way:

Document document =
    DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
JAXB.marshal(jaxbElement, new DOMResult(document));
Element element = document.getDocumentElement();

Upvotes: 5

Ian Roberts
Ian Roberts

Reputation: 122364

You could marshal to a DOMResult:

DOMResult res = new DOMResult();
marshaller.marshal(myJaxbElement, res);
Element elt = ((Document)res.getNode()).getDocumentElement();

Upvotes: 16

Related Questions