首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ParserXML NumberFormatException

ParserXML NumberFormatException
EN

Stack Overflow用户
提问于 2016-07-08 17:16:53
回答 0查看 553关注 0票数 2

我有NumberFormatException,但我不知道为什么?

XML文档http://www.nbp.pl/kursy/xml/c073z070413.xml

线程"main“java.lang.NumberFormatException异常:对于输入字符串:在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)的"dolar amerykański”

代码语言:javascript
复制
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;
}

}

货币类

代码语言:javascript
复制
private String name_currency;
private int  converter;
private String code_converter;
private double selling_rate;
private double buying_rate; ...
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38263038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档