如何在android中使用sax解析器解析SD卡中的xml?

如何在android中使用sax解析器解析SD卡中的xml?,android,xml-parsing,saxparser,Android,Xml Parsing,Saxparser,我在使用sax解析器解析本地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.p

我在使用sax解析器解析本地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文件吗?如果是这样,请给我一些示例代码

谢谢你,
Srinivas

您的解析代码似乎有效,xml不正确。请检查
contents.xml
的第7行。请尝试用验证。

在Android上解析XML有几种可能的方法,在中用很好的示例对它们进行了很好的解释。
如前一个答案所述,您的XML无效(内有无效令牌)。您也可以尝试在浏览器中打开XML文件,在大多数情况下,浏览器会报告格式不正确的XML错误。

尝试将您的解析读取器更改为:

reader.parse(new InputSource(new FileInputStream(file)));