用jackson解析混合内容xml元素

wwwo4jvm  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(448)

根据这一点,像xml一样使用xml是可以的

<root>
  asdasda
  <sub>qwertyuiop</sub>
</root>

但是,将jackson xmlmapper(默认情况下)用于此类:

@XmlRootElement
@Getter @Setter
public class Root {
    private String sub;
}

给出一个错误:
com.fasterxml.jackson.databind.exc.unrecognizedpropertyexception:未识别字段“”(class org.example.jackson.unwrap.testit1$root),未标记为可忽略(一个已知属性:“sub”])。。。
好的,我可以补充

xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

我将得到除根文本“asdasda”以外的所有内容。
我应该在类的某些字段中添加“asdasda”什么 Root 而不是忽视它?

at0kjp5o

at0kjp5o1#

似乎根本不受支持。来自jackson docs的已知限制
树模型(jsonnode,objectmapper.readtree())基于json内容模型,它与xml信息集不完全匹配
不支持混合内容(文本内容和作为元素子元素的元素):文本(如果有)将丢失

相关问题