Ну, на данный момент у вас есть ArrayList объектов Alarmdiensten. Я бы посоветовал вам изменить это на Карту так, чтобы вы хранили Карту земельных кодов против ваших объектов Alarmdiensten.
Таким образом, вы получаете Alarmdiensten с карты, используя код земли, а затем просто вызываете методы getPolitie () и т.д. для вашего объекта Alarmdiensten.
Я бы позаботился о том, чтобы вы инкапсулировали свой объект Alarmdiensten, кстати, прямой доступ к его закрытым членам - это что-то вроде нет-нет :)
Так что-то вроде:
protected Map<String, Alarmdiensten> getAlarmdiensten()
{
Map<String, Alarmdiensten> alarmNumbersForCountries
= new HashMap<String, Alarmdiensten>();
try
{
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(getAssets().open("alarmdiensten.xml"));
NodeList nl = doc.getElementsByTagName("land");
for (int i = 0; i < nl.getLength(); i++)
{
Node node = nl.item(i);
Alarmdiensten land = new Alarmdiensten();
land.setLand(Xml.innerHtml(Xml.getChildByTagName(node, "naam")));
land.setLandcode(Xml.innerHtml(Xml.getChildByTagName(node, "code")));
land.setPolitie(Xml.innerHtml(Xml.getChildByTagName(node, "politie")));
land.setAmbulance(Xml.innerHtml(Xml.getChildByTagName(node, "ambulance")));
land.setBrandweer(Xml.innerHtml(Xml.getChildByTagName(node, "brandweer")));
land.setTelamba(Xml.innerHtml(Xml.getChildByTagName(node, "telamba")));
land.setAdresamba(Xml.innerHtml(Xml.getChildByTagName(node, "adresamba")));
alarmNumbersForCountries.put(land.getLandCode(), land);
}
}
catch (Exception e)
{
// Handle Exception
}
return alarmNumbersForCountries;
}
Чтобы получить запись с карты
Alarmdiensten land = alarmNumbersForCountries.get(landcode);
Еще один момент YMMV заключается в том, что вы можете выделить часть вашего метода, который создает объекты Alarmdiensten из анализа XML. «Каждый метод должен хорошо выполнять одно и одно дело».