我正在使用XMLPullParser来解析XML,我想使用XmlPullParser.FEATURE_PROCESS_DOCDECL功能。这在我的Galaxy Nexus / JB上运行得很好,但在使用Froyo的模拟器上,我得到了“不支持的功能”异常。
该功能不是强制性的,但我想在可以使用的手机上使用它。有没有办法列出当前设备上的可用功能,或者如果某个功能不可用,XmlPullParserFactory不会崩溃,只是忽略它?
修改:这是我得到的确切错误,以及我的代码
10-04 06:45:51.107:W / System.err(309): org.xmlpull.v1.XmlPullParserException:无法创建解析器: org.kxml2.io.KXmlParser:org.xmlpull.v1.XmlPullParserException: 不支持的功能: http://xmlpull.org/v1/doc/features.html#process-docdecl (位置:START_DOCUMENT null @ 0:0); 10-04 06:45:51.137: W / System.err(309):at org.xmlpull.v1.XmlPullParserFactory.newPullParser(XmlPullParserFactory.java:199)
XmlPullParserFactory factory;
XmlPullParser xpp;
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
factory.setFeature(XmlPullParser.FEATURE_PROCESS_DOCDECL, true);
factory.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
xpp = factory.newPullParser(); // Exception is thrown here