0

使用SimpleXMLAndroid 的 lib 可以从这些中创建一个 HashMap:

<items>
    <item>
        <id>1</id>
        <name>chicken</name>
        <amount>13</amount>
    </item>
    <item>
        <id>2</id>
        <name>potatoes</name>
        <amount>3</amount>
    </item>
</items>

我想创建一个包含 id 和 Item 的 HashMap,如下所示:

HashMap<Integer, Item>

其中 ID 将是项目的 ID(值本身)。这可能吗?

我尝试创建包含 id、名称和数量的 Item 类:

class Item {
@Element(name=id)
public int id;

@Element(name="name")
public String name;

@Element(name="amount")
public int amount;

}

然后像这样创建包装器

class Items {

@ElementMap(@field="item", keyType=Integer.class, valueType=Item.class)
private Map<Integer, Item> mItems = new HashMap<Integer, Item>();

// .. getters / setters

}

但是找不到对应的字段...

当我使用 List 而不是 HashMap - 它按预期工作。我只需要 HashMap 作为 Items 包装类中列表字段的补充。

有什么帮助吗?

4

1 回答 1

0

这是否可能对您有所帮助:

如何使用简单 XML 序列化 Map<String, String>?

http://old.nabble.com/Serializing-collections-with-both-SimpleXML-annotated-and-not-annotated-types-td19679788.html

它没有明确指向一个整数、字符串哈希图,但它会显示这个想法。

于 2013-05-14T07:03:30.360 回答