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

</Products>

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