XMLInputFactory inputFactory = XMLInputFactory.newInstance();
// Setup a new eventReader
InputStream in = new FileInputStream(configFile);
XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
// Read the XML document
Item item = null;
while (eventReader.hasNext()) {
XMLEvent event = eventReader.nextEvent();
if (event.isStartElement()) {
StartElement startElement = event.asStartElement();
// If we have a item element we create a new item
if (startElement.getName().getLocalPart() == (ITEM)) {
item = new Item();
// We read the attributes from this tag and add the date attribute to our object
Iterator<Attribute> attributes = startElement
.getAttributes();
while (attributes.hasNext()) {
Attribute attribute = attributes.next();
if (attribute.getName().toString().equals(DATE));
item.setDate(attribute.getValue());
}
}
if (event.isStartElement()) {
if (event.asStartElement().getName().getLocalPart()
.equals(MODE)) {
event = eventReader.nextEvent();
item.setMode(event.asCharacters().getData());
continue;
}
}
if (event.asStartElement().getName().getLocalPart().equals(UNIT)) {
event = eventReader.nextEvent();
item.setUnit(event.asCharacters().getData());
continue;
}
if (event.asStartElement().getName().getLocalPart().equals(CURRENT)) {
event = eventReader.nextEvent();
item.setCurrent(event.asCharacters().getData());
continue;
}
if (event.asStartElement().getName().getLocalPart().equals(INTERACTIVE)) {
event = eventReader.nextEvent();
item.setInteractive(event.asCharacters().getData());
continue;
}
}
// If we reach the end of an item element we add it to the list
if (event.isEndElement()){