我有一个具有动态结构的xml。例如:
<aggregator>
<aggregationType>Voting</aggregationType>
<decimalPrecision>4</decimalPrecision>
<seed>2</seed>
<HTepsilon>0.0050</HTepsilon>
<WLWmaxIterations>100</WLWmaxIterations>
<WLWepsilon>0.0050</WLWepsilon>
</aggregator>
在上面的xml中,
aggregator
标记可以具有变化的结构。这取决于aggregationType。标签
HTepsilon
,WLWmaxIterations
和WLWepsilon
的存在取决于aggregationType
。到目前为止,这些标记始终需要在xml中提及,但是我期待以这种方式更改它们,使其具有基于aggregationType标记的条目。
在那种情况下,我应该如何为此标签定义Java类。到目前为止,我正在将aggregationType与所有可能的值进行比较,并检索相应的标签值。
一处代码中的一个小错误在这种设计中可能是致命的。
最佳答案
“标签HTepsilon,WLWmaxIterations和WLWepsilon的存在取决于聚合类型”是什么意思。您可以扩展“依赖”策略吗?我建议您从定义XSD(定义数据模型)开始。 JAXB可以根据XSD定义为您生成Java类。