我正在尝试使用 xml pull 解析器解析 xml 文档。一切正常,直到我开始处理包含 xxml 声明的 xml 文档:
当声明在那里时,我收到以下错误:
02-08 15:37:16.960: WARN/System.err(9721): org.xmlpull.v1.XmlPullParserException: PI 不能以 xml 开头(位置:未知 @1:5 in java.io.InputStreamReader@ 47ec2770)
如果我从文件中取出声明,一切正常。我切换到另一个解析器为时已晚,所以我需要让它工作!
这是我的解析器代码的样子
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
// factory.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, true);
XmlPullParser xpp = factory.newPullParser();
// get a reference to the file.
File file = new File(Environment.getExternalStorageDirectory() + "/"
+ Constants.SD_CARD_DIR + "/" + Constants.XMLPATH);
// create an input stream to be read by the stream reader.
FileInputStream fis = new FileInputStream(file);
// set the input for the parser using an InputStreamReader
xpp.setInput(new InputStreamReader(fis));
int eventType = xpp.getEventType();
// /
while (eventType != XmlPullParser.END_DOCUMENT) {...}