[英]How to parse xml from sdcard using sax parser in android?
使用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文件的方法嗎? 如果是這樣,請給我一些示例代碼。
謝謝你,斯里尼瓦斯
有幾種在Android上解析XML的可能方法, 本文中的示例很好地解釋了它們。 如先前的回答所述,您的XML無效(內部具有無效令牌)。 您也可以嘗試在瀏覽器中打開XML文件,這在大多數情況下會報告格式錯誤的XML錯誤。
嘗試將您的解析閱讀器更改為:
reader.parse(new InputSource(new FileInputStream(file)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.