Есть метод, который получает элементы xml.parsers
:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
private Currency getXMLCurrency(Node item, String date) {
Currency currency = new Currency();
if (item.getNodeType() == item.ELEMENT_NODE) {
Element element = (Element) item;
currency.setdCode(getTagValue("NumCode", element));
currency.setCode(getTagValue("CharCode", element));
currency.setForAmount(Integer.parseInt(getTagValue("Nominal", element)));
currency.setRate(Double.parseDouble(getTagValue("Value", element).replace(",", ".")));
currency.setDate(date);
}
return currency;
}
Элементы извлекаются в другом методе, который возвращает String
:
private static String getTagValue(String tag, Element element) {
NodeList nodeList = element.getElementsByTagName(tag).item(0).getChildNodes();
Node node = (Node) nodeList.item(0);
String s = node.getNodeValue();
Log.d("VALUE", s);
return s;
}
Вот элемент обрабатываемой XML-страницы:
<Valute ID="R01010">
<NumCode>036</NumCode>
<CharCode>AUD</CharCode>
<Nominal>1</Nominal>
<Name>Австралийский доллар</Name>
<Value>16,0102</Value>
</Valute>
При попытке выполнить строчку:
currency.setForAmount(Integer.parseInt(getTagValue("Nominal", element)));
выскакивает NumberFormatException
. Выглядит это так:
Caused by: java.lang.NumberFormatException: Invalid int: "
1
"
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parse(Integer.java:410)
at java.lang.Integer.parseInt(Integer.java:367)
at java.lang.Integer.parseInt(Integer.java:334)
at com.xpendence.development.currencyconverter.operations.Strategy.getXMLCurrency(Strategy.java:122)
При том, что Log.d
показывает:
04-29 05:52:16.824 13060-13115/com.xpendence.development.currencyconvarter D/VALUE: 1
— вполне себе обычную единицу.
Я уж не знаю, что делать. Прошу помощи.
попробуйте
currency.setForAmount(Integer.parseInt(getTagValue("Nominal", element).trim()));
возможно в значения попадают пробелы
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Мне необходимо ограничить количество символов в строке после '' до 6
ЗдравствуйтеКак добавить в меню Drawer Layout текст? Подробности на рисунке
Сделал горизонтальный RecyclerView внутри NestedScrollViewВ итоге при запуске активности если RecyclerView не торчит на определенную высоту, то он сам делает...
Не могу никак отправить простейший запрос к сервлету средствами jQueryНо при это если отправляю через форму, то все работает на ура