我有这样的 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),但我将不胜感激任何建议。
最佳答案
我相信我知道你在问什么。您希望将此 XML 转换为填充有每种语言和语言内容的 Java 类对象。但是,您不希望有一百万个不同的成员变量,每个变量对应一种语言。
我推荐的是一个 Map 对象,它将语言前缀与每种语言的内容配对。检查http://docs.oracle.com/javase/6/docs/api/java/util/Map.html如果您不熟悉 map 。
使用这种方法,您可以使用任何解析策略为 XML 中的每个标记内容对创建一个新的键值对。
关于java - 具有不同名称的相同 XmlElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014403/