我有这段代码:
@ElementList(name = "Telefono")
@Namespace(reference = "efactura")
protected List<String> telefono;
有一个祖先:
@Namespace(prefix = "ns2", reference = "efactura")
public class CFEDefType {
并生成:
<ns2:Telefono class="java.util.Arrays$ArrayList">
<string>12341234</string>
<string>0303456</string>
</ns2:Telefono>
我期待的时候:
<ns2:Telefono class="java.util.Arrays$ArrayList">
<ns2:string>12341234</string>
<ns2:string>0303456</string>
</ns2:Telefono>
有可能实现这个目标吗?
答案 0 :(得分:2)
您是否尝试过这样做:
@Namespace(prefix = "ns2")
public final class Ns2String extends String {}
<强>更新强>
由于doppelganger在评论中写了不可能扩展String(它是最终的),所以他提出了这个(正确的)解决方案:
@Root(name="string")
@Namespace(reference = "efactura")
public static class Ns2String {
@Text
private String string = null;
public Ns2String(String string) {
this.string = string;
}
public String getString() {
return string;
}
public void setString(String string) {
this.string = string;
}
}