java - 具有不同名称的相同 XmlElement

标签 java jaxb

我有这样的 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/

相关文章:

java - 我们如何在java中使用JAXB创建通用对象

java - 一个界面,多个听众

java - 如何在 Pentaho Kettle 中使用复杂的标题进行 Excel 输入?

java方法重载: abnormal behaviour

java - 基于 Java 的 REST 服务 (JSON) 是否一定需要第三方框架?

java - 通过 JAXB 将链接插入到 RESTEasy XML 结果中

强制在构造函数中调用 super() 的子类的 Java 解决方法?

java - JAXB XML 动态解码

java - 在 groovy 中使用 JAXB 解码对 java POJO 的 SOAP 响应

xsd - schemagen.exe 生成具有 <xs :complexType> 的不确定顺序的 xsd 架构