有 XML 数据,但不知如何定义 bean.
发现几个注解就能解析复杂的数据结构. 这里记录一下,备用.
例如,以下数据结构:
<itemList attr="test"> <item itemName="item1" /> <item itemName="item2" /> </itemList>
定义的 bean 应该是:
@Getter @Setter @JacksonXmlRootElement(localName = "itemList") public class ItemList{ @JacksonXmlProperty(isAttribute = true) private String attr; @JacksonXmlElementWrapper(useWrapping = false) @JacksonXmlProperty(localName = "item") private List<Item> items; } @Getter @Setter public class Item{ @JacksonXmlProperty(isAttribute = true) private String itemName; }
参考:
https://stackoverflow.com/questions/19847094/jackson-xml-annotations-string-element-with-attribute
https://stackoverflow.com/questions/13179920/jackson-xml-deserialize-inline-array