gpt4 book ai didi

java - JAXB 一步将集合编码为 XmlElement 和 XmlAttribute

转载 作者:数据小太阳 更新时间:2023-10-29 02:55:20 26 4
gpt4 key购买 nike

我想将集合编码为嵌套属性。

现在我有:

@XmlElement(name="entry")
public Collection<Integer> getSizes(){ ... }

返回:

<entry>1</entry>
<entry>2</entry>

但我想得到:

<entry id="1"/>
<entry id="2"/>

如果没有新类,这可能吗?

最佳答案

如果没有新类(class),似乎是不可能的。使用 XmlAdapter:

class EntryAdapter extends XmlAdapter<EntryAdapter.Entry, Integer>
{
public EntryAdapter.Entry marshal(Integer id) {
return new Entry(id);
}

public Integer unmarshal(Entry e) {
return e.getId();
}

static class Entry
{
private Integer id;

public Entry() {}
public Entry(Integer id) { this.id = id; }

@XmlAttribute
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
}
}

-

@XmlElement(name="entry")  
@XmlJavaTypeAdapter(EntryAdapter.class)
public Collection<Integer> getSizes(){ ... }

关于java - JAXB 一步将集合编码为 XmlElement 和 XmlAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2168631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com