我有不同的 XML 返回,我想用带有注释类的 JAXB 进行解析。许多 XML 文件共享相似的顶层结构,并且内部标记的内容可能会有所不同。由于我们向 ContextInstance 发送了一个类而不是一个实例,因此我无法添加类。
给定这样的两个文件的示例,您将如何创建一组不会每次都重复顶级 xml 的 JAXB 注释。
<?xml version='1.0' encoding='UTF-8'?>
<eveapi version="2">
<currentTime>2008-11-24 20:14:29</currentTime>
<result>
<serverOpen>True</serverOpen>
<onlinePlayers>38102</onlinePlayers>
</result>
<cachedUntil>2008-11-24 20:17:29</cachedUntil>
</eveapi>
还有一个像这样的文件:
<?xml version='1.0' encoding='UTF-8'?>
<eveapi version="2">
<currentTime>2012-02-12 14:39:12</currentTime>
<result>
<rowset name="characters" key="characterID" columns="name,characterID,corporationName,corporationID">
<row name="Alexis Prey" characterID="1365215823" corporationName="Puppies To the Rescue" corporationID="238510404"/>
</rowset>
</result>
<cachedUntil>2012-02-12 15:27:00</cachedUntil>
</eveapi>
一个常见的顶级课程就像
@XmlRootElement(name="eveapi")
public class EveApiConfig {
@XmlElement(required = true)
protected Date currentTime;
@XmlElement(required = true)
protected String cachedUntil;
@XmlAttribute(name = "version", required = true)
protected int version;
@XmlElement(required = true)
protected ResultsConfig result;
}
但是 ResultsConfig 将是其他一些东西。这几乎就像需要一个反向 XmlSeeAlso
如果如何做到这一点有什么想法吗?