我有一个具有动态结构的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。

标签HTepsilonWLWmaxIterationsWLWepsilon的存在取决于aggregationType

到目前为止,这些标记始终需要在xml中提及,但是我期待以这种方式更改它们,使其具有基于aggregationType标记的条目。

在那种情况下,我应该如何为此标签定义Java类。到目前为止,我正在将aggregationType与所有可能的值进行比较,并检索相应的标签值。

一处代码中的一个小错误在这种设计中可能是致命的。

最佳答案

“标签HTepsilon,WLWmaxIterations和WLWepsilon的存在取决于聚合类型”是什么意思。您可以扩展“依赖”策略吗?我建议您从定义XSD(定义数据模型)开始。 JAXB可以根据XSD定义为您生成Java类。

10-05 17:46