我遇到了像
这样的问题0
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
任何人都可以帮我解决这个错误。
感谢yoyu, SRINIVAS
答案 0 :(得分:2)
您是否仔细检查过XML文件顶部没有空白区域,并且XML声明是第一件出现的内容?
答案 1 :(得分:1)
而不是
inputStream = url.openStream();
xmlReader.parse(new InputSource(urlString));
试
xmlReader.parse(new InputSource(inputStream));
or
xmlReader.parse(new InputSource(urlString.openStream()));
答案 2 :(得分:0)
我认为你正面临这个问题,因为xml格式不正确......这是一个适合你的工作。只需清理xml,然后解析它......只需用“& amp;”替换xml的'&'(忽略“& amp;”之间的空格).....这可能会解决你的问题。 ......由于'&'的出现,这种问题可能会出现在获得的XML数据中。
例如:如果你的字符串(xmlString)是你的XML数据,那么
xmlString = xmlString.replaceAll(“&”,“& amp;”); [请忽略“& amp;”之间的空格因为我保存到表单时无法生成相同的单词。 ]
将为您提供无错误的XML字符串以进行解析。
希望它可以节省你的时间至少几分钟
此致 苏欣菲利普。