On Fri, May 8, 2020 at 8:10 AM 'Thomas Vogler' via jackson-user <[email protected]> wrote: > > Hi all, > > I have to (de-)serialize a complex POJO (in-)to a DOM tree. > > Persisting this DOM tree is not my business and i cannot control it. > > The structure of the generated DOM tree is my (Jackson's) decision, I get an > Element and have to get/put my stuff from there > . > I found a way to serialize my POJO by implementing the required methods in a > XMLStreamWriter2 and using this in an ToXmlGenerator. > > What I don't know is how to deserialize an Element to my POJO. > > All help welcome...
Jackson-dataformat-xml uses Stax API for input/output, and does not have similar input/output integration with DOM. However, there are probably Stax-based tools for making XMLStreamReader read from DOM Document or Element, and XMLStreamWriter "write" a DOM document. In fact I think Woodstox might have something like that; and perhaps StaxMate. Alternative simple brute force solution is to write DOM as byte[]/String, then feed that to Jackson via readValue(). Similarly for Jackson writing XML, parse that as DOM document. On first approach... I think `javax.xml.transform.dom.DOMSource` (https://docs.oracle.com/javase/8/docs/api/javax/xml/transform/dom/DOMSource.html) can be given to `XMLInputFactory` as `StaxSource`, and this is how you can do cleanly. Woodstox does support it. There is similar `DOMResult` which may work as well. -+ Tatu +- -- You received this message because you are subscribed to the Google Groups "jackson-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jackson-user/CAL4a10hcwiZjzsoEBh_J1BMEVDRcc8sW-SRSFoNWhR%2Bz-bTcfQ%40mail.gmail.com.
