怎样使用XStream将XML转化为List<T>对象

现在只能读取XML文件中的第一个T对象

怎么读取 XML文件中的所有T对象 并将其转化为 List

如果你使用 XStream 将 XML 转换为 List 对象,可以这样做:


1.首先,你需要定义一个类,该类的实例可以转换为一个 XML 元素,该元素包含一个 List 对象。比如:

class ListWrapper<T> {
  private List<T> list;

  public ListWrapper(List<T> list) {
    this.list = list;
  }

  public List<T> getList() {
    return list;
  }
}

2.创建一个 XStream 对象,并注册 ListWrapper 类。比如:

XStream xstream = new XStream();
xstream.processAnnotations(ListWrapper.class);

3.使用 XStream 对象的 fromXML() 方法将 XML 转换为 ListWrapper 对象。比如:

String xml = "<list><string>item1</string><string>item2</string></list>";
ListWrapper<String> wrapper = (ListWrapper<String>) xstream.fromXML(xml);

4.从 ListWrapper 对象中获取 List 对象。比如:

List<String> list = wrapper.getList();