我想使用注释解析 XML。
第一个 XML:
<?xml version="1.0" encoding="utf-8"?>
<something version="1.1" type="Config">
<section name="General">
<entry name="calendar" type="calendar">
<calendar timezone="" datetimepattern="dd-MM-yyyy H:mm:ss">
<weekly_rule name="24h">
<start_time>00:00</start_time>
<end_time>23:59</end_time>
<days>SU,MO,TU,WE,TH,FR,SA</days>
</weekly_rule>
</calendar>
</entry>
</section>
</something>
第二个 XML:
<?xml version="1.0" encoding="utf-8"?>
<something version="2.5.3.2" type="Config">
<section name="General">
<entry name="BO_1" type="String">Dummy1</entry>
<entry name="BO_2" type="String">Dummy2</entry>
<entry name="BO_0" type="String">Dummy3</entry>
</section>
</something>
我的问题是entry元素。根据属性type,它应该返回元素 (when type="calendar") 或 value when type="String"。
使用 Lombok 它应该是这样的:
@ToString
@Getter
@Setter
@XmlAccessorType(XmlAccessType.FIELD)
public static class Entry {
@XmlAttribute(name = "name")
private String name;
@XmlAttribute(name = "type")
private String type;
@XmlValue
private String text;
private Object calendar;
}
但它不起作用,因为不能同时存在价值和元素。如何使用注释来做到这一点?