JAXB使用包含另一个地图的对象解组地图

时间:2012-07-12 01:28:52

标签: jaxb hashmap

我已经成功使用JAXB来解组某些xml文件,但我有另一个更复杂的情况。基本上我的xml文件看起来像这样:

<BCLCurrenciesInflation>
<currenciesInflation>
    <currency>
        <curencyName>Yen</curencyName>
        <countryName>Japan</countryName>
        <issuingDate>1900-01-01</issuingDate>
        <expirationDate></expirationDate>
        <inflation>
            <year>1900</year>
            <percentage>16</percentage>
        </inflation>
        <inflation>
            <year>1901</year>
            <percentage>17</percentage>
        </inflation>
    </currency>
    <currency>
        <curencyName>Dolar</curencyName>
        <countryName>USA</countryName>
        <issuingDate>1900-01-01</issuingDate>
        <expirationDate></expirationDate>
        <inflation>
            <year>1902</year>
            <percentage>18</percentage>
        </inflation>
        <inflation>
            <year>1903</year>
            <percentage>19</percentage>
        </inflation>
    </currency>
</currenciesInflation>

所以基本上是HashMap<String,BCLCurrency>,BCLCurrency看起来像这样:

public class BCLCurrency
{
@XmlElement(name = "currencyName")
public String name;

@XmlElement(name = "countryName")
public String country;

@XmlElement(name = "issuingDate")
public String issuingDate;

@XmlElement(name = "expirationDate")
public String expirationDate;

@XmlElement(name = "inflation")
public Map<String,float> inflationMap;
}

我正在考虑使用两个适配器,第二个将从第一个适配器调用,但我对这个解决方案感到不舒服。

关于如何解决此问题的任何想法?

PD:有趣的故事我不能在帖子开头问好,系统一直在压制它!

1 个答案:

答案 0 :(得分:0)

您可以为map&lt;创建/使用通用适配器K,V>而不是创建两个适配器。