Document.selecNodes (String e) возвращает java.lang.VerifyError на Android 1.6 - PullRequest
1 голос
/ 24 июня 2011

Следующий метод принимает файл XML и выражение Xpath и возвращает результаты в виде строкового массива.Он должен был работать на устройстве Android с использованием API уровня 4 (Android 1.6).Проблема в том, что я продолжаю получать java.lang.VerifyError, когда он запускается на эмуляторе.

Есть идеи, что может быть не так?

@SuppressWarnings("unchecked")
private String[] evaluate(File file, String exp) {

    String[] values = null;

    try{

        SAXReader reader = new SAXReader();
        //new line added because xpath not supported on oppaz android 1.6
        org.dom4j.Document doc = reader.read(file);
        java.util.List<Node> nl = null;

        try{
            //An error is always generated here java.lang.VerifyError
            nl = doc.selectNodes(exp);
        }
        catch(java.lang.VerifyError e){
            System.out.println("The following error occurred Mayne");
            e.printStackTrace();
        }

        Object[] obj = nl.toArray();
        int j = obj.length;
        //Find out how many nodes were returned
        values =new String[j];

        for(int i=0;i<j;i++){

            Element  element = (Element) nl.get(i);                     
            NodeList nl2 = element.getChildNodes();
            String value = ((Node) nl2.item(0)).getNodeValue();

            values[i] = value;                  

        }


    }
    catch(Exception e){
        e.printStackTrace();
    }

    return values;

}

1 Ответ

1 голос
/ 27 февраля 2012

Я столкнулся с той же проблемой.Для тех, кому интересно, вот как я это решил.Помимо dom4j, вам также понадобится jaxen, чтобы заставить XPath работать в Android.Загрузите Jaxen , добавьте jaxen * .jar для построения пути, и это должно решить вашу проблему.Подробнее здесь The Force Unleashed: XML + XPath на Android с использованием Dom4j и JaxeIn .Это полезно, если вы планируете использовать XPath ниже 2.2.Android 2.2 имеет встроенные XPath возможности

...