documentbuilderfactory не работает в Android 3.0 - PullRequest
1 голос
/ 07 июня 2011

Это код, который я использовал для Android 2.3. и это использовать для правильной работы. Но не знаю, почему это не работает в Android 3.0

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        try
        {

            try
            {
            while(this.xml.available()>0)
            Log.e("content", ""+this.xml.read());
            }
            catch (Exception e) {
                // TODO: handle exception
                Log.e("error", "while reading the file");
            }
            this.xml.reset();

            DocumentBuilder builder = factory.newDocumentBuilder();
            Document dom = builder.parse(this.xml);
            Element root = dom.getDocumentElement();
            Log.d(TAG, "have root?"+dom.getLocalName());;
            Log.d(TAG, "have root?"+dom.getInputEncoding());;
            Log.d(TAG, "have root?"+dom.getNodeValue());;
 }
        catch (Exception e)
        {
             Log.e(TAG, e.getMessage(), e);
        }
        //Log.d(TAG, "Exit:  parse");
        return stores;
    }

Внутренний пока отображает содержимое файла в цифрах. Но когда я получаю дом. * Я получаю ноль, почему это так?

Есть предложения?

Ответы [ 3 ]

1 голос
/ 27 июня 2011

На самом деле были некоторые ошибки в DOM для выпусков Android до Android 3.0 Эти ошибки исправлены в 3.0, поэтому в старых реализациях могут потребоваться некоторые изменения, сделанные вами с использованием DOM

перейдите по этой ссылке

http://code.google.com/p/android/issues/detail?id=2735#c11

Приветствие Himanshu

1 голос
/ 31 августа 2011

Не использовать Элемент root = dom.getDocumentElement ();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(stream);

NodeList nodeResponse = dom.getElementsByTagName("rootelement");
0 голосов
/ 12 июня 2011

кажется, что способ доступа к элементу теперь немного другой.

Для других, ознакомьтесь с новыми способами написания этого.

Спасибо

...