简单的XML解析XML到List

YET*_*ETI 7 java android simple-framework

我使用Simple XML(simple-xml-2.6.2.jar)来解析xml文件,如:

<?xml version="1.0" encoding="UTF-8" ?> 
<orderList> 
    <order id="1"> 
        <name>NAME1</name> 
    </order> 
    <order id="2"> 
        <name>NAME2</name> 
    </order> 
</orderList> 
Run Code Online (Sandbox Code Playgroud)

根元素包含subElements.我想成为ArrayList,怎么做?

oll*_*llo 14

这是一个可能的解决方案,希望它可以帮助您:

Order课堂注释:

@Root(name="order")
public class Order
{
    @Attribute(name="id", required=true)
    private int id;
    @Element(name="name", required=true)
    private String name;


    public Order(int id, String name)
    {
        this.id = id;
        this.name = name;
    }


    public Order() { }


    // Getter / Setter
}
Run Code Online (Sandbox Code Playgroud)

Example class,包含列表:

@Root(name="elementList")
public class Example
{
    @ElementList(required=true, inline=true)
    private List<Order> list = new ArrayList<>();

    // ...
}
Run Code Online (Sandbox Code Playgroud)

这里有一些用于阅读代码的代码:

Serializer ser = new Persister();
Example example = ser.read(Example.class, file); // file = your xml file
// 'list' now contains all your Orders
Run Code Online (Sandbox Code Playgroud)


Tom*_*mer 0

List是一个接口,ArrayList是它的实现之一,例如:

List<Order> l = new ArrayList<Order>()
Run Code Online (Sandbox Code Playgroud)

所以如果你有一个 List ,你基本上就有了你想要的。