Проблема с разбором DOM на Android 2.1 - PullRequest
1 голос
/ 15 июня 2011

Я новичок в Android, и я сделал простое приложение, которое считывает данные из RSS-канала XML и представляет их пользователю.Он отлично работает на телефоне с Android 2.2 или выше и на эмуляторе с Android 2.1, но выдает исключение при нормализации документа DOM на телефонах с Android 2.1.

Вот часть кода:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();

Document dom = db.parse(in);
Element docEle = dom.getDocumentElement();
dom.normalize();

NodeList nl = docEle.getElementsByTagName("item");
if (nl != null && nl.getLength() > 0) {
     //some stuff here
}

в соответствии с инструкцией dom.normalize () приложение выдает следующее исключение:

06-15 17:20:01.161: ERROR/ActivityManager(79): fail to set top app changed!
06-15 17:20:07.501: ERROR/AndroidRuntime(1199): Uncaught handler: thread refresh_news exiting due to uncaught exception
06-15 17:20:07.531: ERROR/AndroidRuntime(1199): org.w3c.dom.DOMException
06-15 17:20:07.531: ERROR/AndroidRuntime(1199):     at org.apache.harmony.xml.dom.InnerNodeImpl.removeChild(InnerNodeImpl.java:184)
06-15 17:20:07.531: ERROR/AndroidRuntime(1199):     at org.apache.harmony.xml.dom.InnerNodeImpl.normalize(InnerNodeImpl.java:161)
06-15 17:20:07.531: ERROR/AndroidRuntime(1199):     at com.krawczyk.lech.services.NewsService.doRefreshNews(NewsService.java:231)
06-15 17:20:07.531: ERROR/AndroidRuntime(1199):     at com.krawczyk.lech.services.NewsService.access$0(NewsService.java:209)
06-15 17:20:07.531: ERROR/AndroidRuntime(1199):     at com.krawczyk.lech.services.NewsService$1.run(NewsService.java:201)
06-15 17:20:07.531: ERROR/AndroidRuntime(1199):     at java.lang.Thread.run(Thread.java:1102)
06-15 17:20:07.551: ERROR/dalvikvm(1199): Unable to open stack trace file '/data/anr/traces.txt': Permission denied

Это общая проблема Android 2.1 или моя ошибка ??Пожалуйста, помогите.

1 Ответ

0 голосов
/ 25 июля 2011

Я выполнил поиск и нашел этот блог , он описывает ошибку, появляющуюся в SDK 7, из-за которой ошибка приводит к тому, что qName становится пустым, а локальное имя заполняется значением вашего элемента XML.там также размещено решение.

Я полагаю, вы можете столкнуться с той же проблемой.

...