0

我有一个安静的 Web 服务,它返回一组员工,但我不知道如何处理这些返回的数据。我知道如果它是返回的单个对象,我可以将其解组并转换为我的愿望类,但我该如何做到这一点并将我的数据保存在列表、数组列表、集合或任何其他形式的集合中。

//single object (perfect)
Customer c = (Customer) jc.createUnmarshaller().unmarshal(xml);

// Error
List<Customer> list = (List<Customer>) jc.createUnmarshaller().unmarshal(xml); 

谢谢。

4

1 回答 1

0

尝试

@XmlRootElement
class Customer {
    @XmlElement
    String name;
    public String toString() {
        return name;
    }
}

@XmlRootElement
class Customers {
    @XmlElement(name = "customer")
    List<Customer> list;
}

class Test {

    public static void main(String[] args) throws Exception {
        String xml = "<customers><customer><name>Ayodeji</name></customer></customers>";
        JAXBContext ctx = JAXBContext.newInstance(Customers.class);
        Unmarshaller um = ctx.createUnmarshaller();
        Customers res = (Customers)um.unmarshal(new StringReader(xml));
        System.out.println(res.list);
    }
}

输出

[Ayodeji]
于 2012-12-28T14:28:41.413 回答