Ошибка java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl cannot be cast to org.apache.xerces.dom.ElementNSImpl

244
17 апреля 2018, 05:37
public static Valute getValuteByValuteCh(String valuteCh, GetCursOnDateXMLResult result) throws Exception{
    Valute answer = new Valute();
    List<Object> list = result.getContent();
    ElementNSImpl e = (ElementNSImpl) list.get(0);
    NodeList chCodeList =   e.getElementsByTagName("VchCode");
    int length = chCodeList.getLength();
    boolean isFound = false;
    for (int i = 0; i< length; i++){
        if (isFound) break;
        Node valuteChNode = chCodeList.item(i);
        TextImpl textimpl = (TextImpl)valuteChNode.getFirstChild();
        String chVal = textimpl.getData();
        if (chVal.equalsIgnoreCase(valuteCh)){
            isFound = true;
            Node parent = valuteChNode.getParentNode();
            NodeList nodeList = parent.getChildNodes();
            int paramLength = nodeList.getLength();
            for (int j=0; j<paramLength; j++){
                Node currentNode = nodeList.item(j);
                String name = currentNode.getNodeName();
                Node currentValue = currentNode.getFirstChild();
                String value = currentValue.getNodeValue();
                if (name.equalsIgnoreCase("Vname")){
                    answer.name = value;
                }
                if (name.equalsIgnoreCase("Vnom")){
                    answer.nom = new BigDecimal(value);
                }
                if (name.equalsIgnoreCase("Vcurs")){
                    answer.curs = new BigDecimal(value);
                }
                if (name.equalsIgnoreCase("Vcode")){
                    answer.code = Integer.parseInt(value);
                }
                if (name.equalsIgnoreCase("VchCode")){
                    answer.chCode = value;
                }
            }
        }
    }
    return answer;
}

Метод парсит XML ответ веб-сервиса цбрф Используется библиотека Xerces При запуске приложения на сервере возникает ошибка на строку ElementNSImpl e = (ElementNSImpl) list.get(0);

java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl cannot be cast to org.apache.xerces.dom.ElementImpl at com.naitos.WSUsing.GetCursOnDateResultParser.getValuteByValuteCh(GetCursOnDateResultParser.java:44)
Answer 1

Тут видимо неправильный каст, а нужно

Element e = (Element) list.get(0);
READ ALSO
Как найти сумму, количество чисел и наименьшее число из текстого файла?

Как найти сумму, количество чисел и наименьшее число из текстого файла?

У меня есть код, но не понимаю почему не работаетНаходит без проблем наибольшее число и по этой логике хочу найти наименьшее, но программа...

185
Проверка данных из Firebase

Проверка данных из Firebase

Пытаюсь проверить заголовок передаваемый из FirebaseВыдает ошибку, видимо данные еще не успевают подгрузиться

201
Как спрятать картинку в android?

Как спрятать картинку в android?

Дело такое: при запуске time-managera пустой список в началеНужно туда вставить картинку, которая бы пропадала как только мы что-то добавили

203