简单XML框架:序列化时元素列表中的字符串没有名称空间前缀

时间:2014-12-18 14:09:05

标签: java android namespaces prefix simple-framework

我有这段代码:

@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>

有可能实现这个目标吗?

1 个答案:

答案 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;
  }
}