简单XML框架:XML结构问题



我的外部XML源具有以下结构

<NewDataSet>
  <Table>
    <department>HR</department>
    <depno>01</depno>
  </Table>
  <Table>
    <department>IT</department>
    <depno>02</depno>
  </Table>
</NewDataSet>

但是简单XML框架期望这种结构

<NewDataSet>
  <Tables>
    <Table>
      <department>HR</department>
      <depno>01</depno>
    </Table>
    <Table>
      <department>IT</department>
      <depno>02</depno>
    </Table>
  </Tables>
</NewDataSet>

这是我的NewDataSet类

@Root
  public class NewDataSet {
    @ElementList
    public List<Table> Tables;
  }

这是我的Table类

@Element
public class Table {
@Element
private String department;
@Element
private String depno;
}

如何编写正确的类来匹配我的外部XML源?在这个程序中使用的这些类

        String url =  "http://";
        String xmlData = retrieve(url);
        Reader reader = new StringReader(xmlData);
        Serializer serializer = new Persister();
        NewDataSet nds =  serializer.read(NewDataSet.class, reader, false);
        Log.d(MainActivity.class.getSimpleName(), nds.toString());

使用内联

似乎这个问题已经在官方文档中解决了。http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php内联

处理第三方XML或包含分组的XML时在相关元素中,通用格式包含要存在的元素没有包装父元素的序列。为了适应元素列表注释可以配置为这样的结构忽略列表的父元素

@Root
public class NewDataSet {
    @ElementList(inline = true, entry = "Table")
    public List<Table> Tables;
}

最新更新