我在一个遗留的JavaME项目中使用kXML2。我收到一个XML,其中一些属性包含编码的实体。当我通过调用检索该属性值时:
parser.getAttributeValue它抛出一个异常:
XmlPullParserException: unresolved我已经下载了此解析器的最新版本,但它仍然显示此行为。
如果我从XML中删除有问题的行,那么就不会出现错误。
发布于 2012-04-16 23:53:08
好的,这是正在发生的事情:
除非您设置此属性,否则解析器必须解码属性中的实体:
parser.setFeature(KXmlParser.FEATURE_PROCESS_DOCDECL, true);但是当这行被调用时,这个实现抛出一个异常。好吧,所以我调试了解析器的源代码,我发现这个拉式解析器实现对于不太常见的实体有问题。
所以我必须用我自己的“奇特”实体来扩充解析器实体替换映射,如下所示:
parser.defineEntityReplacementText("Ntilde", "Ñ");然后一切都会好起来。
https://stackoverflow.com/questions/10176983
复制相似问题