【发布时间】:2015-05-19 04:30:16
【问题描述】:
我有来自客户的 xml:
<a>
<b id="id1"/>
<any-tag/>
<b id="id2"/>
</a>
还有简单的Java类
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.ToString;
import java.util.List;
@ToString
public class A {
@ToString
public static class B {
public String id;
}
@JacksonXmlProperty(localName = "b")
@JacksonXmlElementWrapper(useWrapping = false)
public List<B> bList;
}
当杰克逊完成解析后,我得到了结果
A(bList=[A.B(id=id2)])
很明显,我只得到了第二个标签,但预计 bList 中有 2 个标签。我意识到这是因为 any-tag 标签位于第一个和第二个标签 B 之间。
如何读取列表中的所有 B 标签? PS Tag A 包含其他应阅读的内容。
我正在使用:
'com.fasterxml.jackson.core:jackson-databind:2.5.1',
'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.5.1',
'org.codehaus.woodstox:woodstox-core-asl:4.1.4',
【问题讨论】: