0

従業員のコレクションを返すRESTfulWebサービスがありますが、この返されたデータを処理する方法がわかりません。返された単一のオブジェクトであるかどうかはわかっていますが、マーシャリングを解除して目的のクラスにキャストできますが、それを実行してデータをリスト、配列リスト、セット、またはその他の形式のコレクションに保存するにはどうすればよいですか。

//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 に答える