Android XML 解析器导致异常 java.lang.AssertionError

问题描述 投票:0回答:1

Android xml 解析器抛出

Exception java.lang.AssertionError:
错误。我怀疑以下是
com.android.org.kxml2.io.KXmlParser
包中的代码,它抛出了这个错误。

链接到代码文件 行号: 1192

android sdk 有什么问题还是我需要更改依赖项?

以下是我的xml解析代码

        try {
        while (xmlPullParser.next() != XmlPullParser.END_TAG) {
            if (xmlPullParser.getEventType() == XmlPullParser.END_DOCUMENT) {
                throw new XmlPullParserException("XML END tag is missing");
            }
            if (xmlPullParser.getEventType() != XmlPullParser.START_TAG) {
                continue;
            }
            String name = xmlPullParser.getName();
            if (containsIn(name, tagNames)) {
                doSomething();
            } else {
                skip();
            }
        }
    } catch (XmlPullParserException | IOException e) {
        parseExceptionConsumer.accept(e);
    }

我在用

 compileSdk 32

defaultConfig {
    minSdkVersion 19
    targetSdkVersion 32
    versionCode 1
    versionName project.version
    multiDexEnabled true
}

错误日志如下

Exception java.lang.AssertionError:
at com.android.org.kxml2.io.KXmlParser.readEntity (KXmlParser.java:1192)
at com.android.org.kxml2.io.KXmlParser.readValue (KXmlParser.java:1402)
at com.android.org.kxml2.io.KXmlParser.next (KXmlParser.java:393)
at com.android.org.kxml2.io.KXmlParser.next (KXmlParser.java:313)
android xml xml-parsing assertion android-sdk-2.3
1个回答
0
投票

堆栈跟踪表明

AssertionError
被抛出,因为解析器试图读取 XML 实体引用(例如
"
),但是 实体不以
&
开头。要查明这是由您的解析代码还是无效的 XML 引起的,您必须提供您的 XML(按照评论中的要求)。

© www.soinside.com 2019 - 2024. All rights reserved.