1

我有这样的 XML 结构:

<page>
  <lang>
    <fr>La météo de la semaine</fr>
    <en>This week’s weather</en>
    <l code="de">Wetter Woche</l>
  </lang>
</page>

消息以各种语言重复。每个备选方案都包含在一个标有 ISO-639 语言代码的元素中。为方便起见,<da>, <de> 可以用来代替<l code="da">, <l code="de">. 当然,我不想在 lang 类中为每种语言定义一个字段。可能吗?注意:我不想使用任何 jaxb 扩展,例如 EclipseLink JAXB (MOXy),但我将不胜感激任何建议。

4

1 回答 1

2

我相信我知道你在问什么。您希望将此 XML 转换为一个 Java 类对象,其中填充了每种语言和语言内容。但是,您不想拥有一百万个不同的成员变量,每种语言都有一个。

我推荐的是一个 Map 对象,它将语言前缀与每种语言的内容配对。如果您不熟悉地图, 请查看http://docs.oracle.com/javase/6/docs/api/java/util/Map.html 。

使用这种方法,您可以使用正在使用的任何解析策略来为 XML 中的每个标记-内容对创建一个新的键值对。

于 2012-06-13T14:23:13.663 回答