I have a string of XML as
<ShowPercentage>
<SPGLevel>
<Level> 1 </Level>
<percentage>40</percentage>
</SPGLevel>
<SPGLevel>
<Level> 2 </Level>
<percentage>60</percentage>
</SPGLevel>
</ShowPercentage>
The SPG Level is repeatable. This is a map with key=Level and value=percentage
I want to parse this XML using Digester. Can anyone help me get started?
The answer may look like the following code, but I didn't test this:
public class SampleDigester
{
private Map<String, String> map = new HashMap<String, String>();
public void run() throws IOException, SAXException {
Digester digester = new Digester();
digester.push(this);
digester.addCallMethod("ShowPercentage/SPGLevel", "addKey", 2);
digester.addCallParam("ShowPercentage/SPGLevel/Level", 0);
digester.addCallParam("ShowPercentage/SPGLevel/percentage", 1);
digester.parse("input.xml");
}
public void addKey(String key, String value) {
map.put(key, value);
}
}