Android: parseexception в строке 1, column0 элемент не найден? - PullRequest
1 голос
/ 19 ноября 2010

У меня есть проблема, такая как

o

org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: no element found
 org.apache.harmony.xml.ExpatParser.finish(ExpatParser.java:553) Displayed activity com.logictreeit.flight1/com.logictreeit.flight.app.MainTabActivity: 1689 ms (total 1689 ms)
 org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:483)
   org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:320)
    org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:293)

Иногда успешно разбирается, но иногда она выходит за рамки ошибки.

Мой код

URL url = new URL(urlString);
        SAXParserFactory saxParserFactory= SAXParserFactory.newInstance();
        SAXParser saxParser = saxParserFactory.newSAXParser();
        XMLReader xmlReader = saxParser.getXMLReader();
        FlightGuideHandler flightGuideHandler = new FlightGuideHandler();
        xmlReader.setContentHandler(flightGuideHandler);
        inputStream = url.openStream();
        xmlReader.parse(new InputSource(urlString)); // am getting error at this line

Может ли кто-нибудь помочь мне разобраться в этой ошибке.

Благодарю вас, Шринивас

Ответы [ 3 ]

2 голосов
/ 19 ноября 2010

Вы дважды проверили, что в верхней части XML-файла нет пробелов, и объявление XML - самое первое, что появляется?

1 голос
/ 19 ноября 2010

вместо
inputStream = url.openStream(); xmlReader.parse(new InputSource(urlString));

попробовать xmlReader.parse(new InputSource(inputStream)); or<br> xmlReader.parse(new InputSource(urlString.openStream()));

0 голосов
/ 10 мая 2011

Я думаю, что вы столкнулись с этой проблемой из-за xml, который не в хорошем формате ... Вот обходной путь для вас.Просто очистите xml, прежде чем анализировать его ... просто замените xml '&' на "& amp;" (игнорируйте пробел между "& amp;") ..... это может решить вашу проблему ....поскольку такого рода проблемы могут возникать из-за появления '&' в полученных данных XML.

Например: если ваша строка (xmlString) является вашими данными XML, то

xmlString = xmlString.replaceAll ("&", "& amp;");[пожалуйста, игнорируйте пробел между "& amp;"так как я не мог выдать одно и то же слово при сохранении в форму.]

даст вам безошибочную строку XML для анализа.

Надеюсь, это сэкономит ваше время хотя бы на несколько минут

С уважением, Судхин Филипп.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...