使用 Jackson XmlMapper 序列化为 XML DOM

Posted

技术标签:

【中文标题】使用 Jackson XmlMapper 序列化为 XML DOM【英文标题】:Using Jackson XmlMapper to serialize to an XML DOM 【发布时间】:2013-06-17 13:38:30 【问题描述】:

我知道可以使用XmlMapper.writeValueAsString() 直接序列化为字符串,但我想序列化 DOM 树。一个新的文档,或者最好直接序列化到现有的 DOM 节点。杰克逊可以做到这一点吗?

【问题讨论】:

【参考方案1】:

我想我通过使用XMLStreamWriter 找到了解决方案。

试试下面的 sn-p:

XMLOutputFactory factory = XMLOutputFactory.newInstance();
factory.createXMLStreamWriter(new DOMResult(yourNode));

XmlMapper mapper = new XmlMapper();
ToXmlGenerator xmlGenerator = mapper .getFactory().createGenerator(sw);
mapper.writerFor(YourClass.class).writeValue(xmlGenerator, yourInstance);

【讨论】:

以上是关于使用 Jackson XmlMapper 序列化为 XML DOM的主要内容,如果未能解决你的问题,请参考以下文章

Jackson XmlMapper 在将 XML 写入文件时强制使用小写标记名称

Jackson 使用枚举键、POJO 值反序列化为 Map

如何在 Jackson 中将对象序列化为 ObjectNode 的值?

使用 Jackson 将通用 java 对象序列化为 JSON

如何使用 Jackson 将原始 JSON 反序列化为 Java 对象

Jackson - 将内部对象列表反序列化为更高级别的列表