私のJavaクラスには、次の属性があります。
private HashMap<String, Integer> keywordFrequencies;
そして、関連するクラスのオブジェクトをシリアライズ/デシリアライズする必要があります。
SimpleXML は、このタイプの Java オブジェクトを表すことができますか? そして、XML はどのように見えるでしょうか?
私のXMLは次のようなものです:
<keywordFrequencies>
<keyword key="Osborne">1</keyword>
<keyword key="budget">3</keyword>
</keywordFrequencies>
現時点で逆シリアル化するコードは、一般的な方法です。
public static void printHashMap(HashMap<String, Integer> hm) {
Set s = hm.entrySet();
Iterator i = s.iterator();
int j = 0;
// Print the index.
while(i.hasNext()) {
Map.Entry m = (Map.Entry) i.next();
System.out.println("No=" + (j + 1) + ", Key=" + m.getKey() + ", Freq=" + m.getValue());
j++;
}
}
Java クラスの属性は次のとおりです。
@ElementMap(entry="keywordFrequencies", key="key", attribute=true, inline=true)
private HashMap<String, Integer> keywordFrequencies;
ハッシュマップを次のように出力するメソッドを呼び出しているところ:
HashMap_Utils.printHashMap(requestOMDM.getKeywordFrequencies());