Как разобрать XML с SDCard с помощью синтаксического анализатора саксофона в Android? - PullRequest
1 голос
/ 16 декабря 2010

У меня проблема при разборе локального XML-файла с помощью синтаксического анализатора саксофона. Выдает исключение при разборе.

 *org.apache.harmony.xml.ExpatParser$ParseException: At line 7, column 247: not well-formed (invalid token)
org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:507)
org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:492)
org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:308)
org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:264)*


try {
        String path = Environment.getExternalStorageDirectory() + "/FlightGuide/"+stateName+"/contents.xml"; 
        File file = new File(path);
        SAXParserFactory parserFactory=SAXParserFactory.newInstance();
        SAXParser saxParser=parserFactory.newSAXParser();
        XMLReader reader=saxParser.getXMLReader();
        AirportHandler airportHandler = new AirportHandler();
        reader.setContentHandler(airportHandler);
        reader.parse(new InputSource(new InputStreamReader(new FileInputStream(file))));
        statePackage = airportHandler.getpaStatePackage();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (ParserConfigurationException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        e.printStackTrace(); 
    } catch (IOException e) {

        e.printStackTrace();
    }

Пожалуйста, можете ли кто-нибудь понять ошибку, которую я делаю? И есть ли другой способ для анализа локальных файлов XML? Если да, дайте мне пример кода.

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

Ответы [ 3 ]

0 голосов
/ 16 декабря 2010

Существует несколько возможных способов анализа XML на Android, и они хорошо объяснены на примерах в этой статье .Как сказано в предыдущем ответе, ваш XML недействителен (имеет недопустимый токен внутри).Вы также можете попробовать открыть свой XML-файл в браузере, который в большинстве случаев сообщит об ошибке в неправильно сформированном XML.

0 голосов
/ 18 января 2012

попробуй поменять читалку разбирай так:

reader.parse(new InputSource(new FileInputStream(file)));
0 голосов
/ 16 декабря 2010

Ваш код синтаксического анализа, кажется, действителен, XML-файл неверен. Пожалуйста, проверьте 7-ую строку contents.xml. Попробуйте проверить его с помощью онлайновых валидаторов xml .

...