将某种类型的第一个元素映射到一个字段

Mapping first element of certain type to a field

我的 xml 文件:

<x>
  <a>some value</a>
  <a>some other value</a>
  <b>some value</b>
  <c>some value</c>
</x>

我需要将其反序列化为 class,仅保留 first a 标记值:

@Root()
public class X {

    //???   
    protected String a;

    Element(name="b")
    protected String b;

    Element(name="c")
    protected String c;
}

我尝试了几个属性,但没有得到任何有用的信息。有什么建议吗?谢谢。

您可以创建 <a> 元素的内联列表,然后获取列表的第一个 <a> 元素。

尝试这样的事情:

@Root()
public class X {

    @ElementList (inline=true, entry="a")
    private List<String> aList= null;

    Element(name="b")
    protected String b;

    Element(name="c")
    protected String c;
}