0
<GetProductsForMachine>
<Products>
    <ProductsForMachine>coffee espresso</ProductsForMachine>
    <ProductsForMachine>coffe1</ProductsForMachine>
    <ProductsForMachine>coffee2</ProductsForMachine>

</Products>

必须是类 ProductsForMachine 的实现,这很困难,因为没有元素可以获取它们的价值。

我尝试使用以下代码,但我在解析中有错误..

@Root
public class ProductsForMachine{

    @Attribute(name="ProductsForMachine", required=true)
    public String ProductsForMachine;



    @Element(required=false)
    public int value;
}

谢谢

4

2 回答 2

1

这是一个简单的解决方案,假设每个<ProductsForMachine>...</ProductsForMachine> 条目都可以用字符串表示。

@Root(name="GetProductsForMachine")
public class GetProductsForMachine
{
    @ElementList(name="Products", entry="ProductsForMachine")
    private ArrayList<String> products; /* 1 */


    // Construtors / Methods

}

注 1:ArrayList<String>使用 代替的原因List<String>请看这里

name由于设置了注释的值,因此可以重命名类/字段。

您现在可以像这样反序列化您的 XML:

File f = // your xml file

Serializer ser = new Persister();
GetProductsForMachine products = ser.read(GetProductsForMachine.class, f);

顺便提一句。GetProductsForMachine需要一个结束标签。

于 2012-09-19T09:29:50.027 回答
0

看看我对这个问题的回答。它提供了一种在查找特定标签时解析简单 xml 的通用方法。

于 2012-09-19T00:59:00.887 回答