I have NumberFormatException but I don't know why?
XML document http://www.nbp.pl/kursy/xml/c073z070413.xml
Exception in thread "main" java.lang.NumberFormatException: For input string: "dolar amerykański" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.valueOf(Integer.java:766) at pl.parser.nbp.ParseXML.parsStax(ParseXML.java:83)
public class ParseXML {
private static Logger logger = Logger.getLogger(ParseXML.class);
public static void main(String[] args) {
ParseXML xml = new ParseXML();
try {
List<Currency> currencies = xml.parsStax("xml/nbp.xml");
System.out.println(currencies);
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
public List<Currency> parsStax(final String fileName) throws XMLStreamException {
if (fileName == null || fileName.trim().equals("")) {
return Collections.emptyList();
}
List<Currency> currencyList = new ArrayList();
Currency currency = null;
String text = null;
boolean inItem = false;
XMLInputFactory factory = XMLInputFactory.newFactory();
XMLStreamReader parser = factory
.createXMLStreamReader(ClassLoader.getSystemResourceAsStream(fileName));
while (parser.hasNext()) {
int event = parser.next();
switch (event) {
case XMLStreamConstants.START_ELEMENT:
String tagName = parser.getLocalName();
if (tagName.equals("pozycja")) {
currency = new Currency();
inItem = true;
}
break;
case XMLStreamConstants.CHARACTERS:
if (inItem) {
text = parser.getText().trim();
}
break;
case XMLStreamConstants.END_ELEMENT:
switch (parser.getLocalName()) {
case "pozycja":
currencyList.add(currency);
break;
case "nazwa_waluty":
currency.setName_currency(text);
logger.debug( text);
case "przelicznik":
currency.setConverter(Integer.valueOf(text));
logger.debug("Przelicznki" + text);
break;
case "kod_waluty":
currency.setCode_converter(text);
logger.debug(text);
break;
case "kurs_kupna":
currency.setBuying_rate(Double.valueOf(text));
break;
case "kurs_sprzedazy":
currency.setSelling_rate(Double.valueOf(text));
break;
}
break;
case XMLStreamConstants.START_DOCUMENT:
currencyList = new ArrayList();
break;
}
}
return currencyList;
}
}
Currency class
private String name_currency;
private int converter;
private String code_converter;
private double selling_rate;
private double buying_rate; ...