Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin XMLPullParser只返回一个元素_Kotlin_Xml Parsing - Fatal编程技术网

Kotlin XMLPullParser只返回一个元素

Kotlin XMLPullParser只返回一个元素,kotlin,xml-parsing,Kotlin,Xml Parsing,我无法解析XML文件,它只返回一个元素,而不是4个 这是我的XML文件 <Quizzs> <Quizz type="A">...</Quizz> <Quizz type="B">...</Quizz> <Quizz type="C">...</Quizz> <Quizz type="D">...</Quizz> </Quizzs> 对于每个“测验”,您需要在当前测验中添加()

我无法解析XML文件,它只返回一个元素,而不是4个

这是我的XML文件

<Quizzs>
<Quizz type="A">...</Quizz>
<Quizz type="B">...</Quizz>
<Quizz type="C">...</Quizz>
<Quizz type="D">...</Quizz>
</Quizzs>
对于每个
“测验”
,您需要在
当前测验中添加()。使用
currentQuizz.type=…
时,您只需用当前的一个覆盖前面的每个
“Quizz”
,因此您只会得到最后一个,即
D

我想你被自己的代码弄糊涂了。对于
“Quizzs”
标记,创建一个
Quizz()
对象,而不是
QuizzList()
对象或类似的对象。对于
“Quizz”
标记,每次都应该创建一个新的
Quizz()
对象。然后,您应该将该对象添加到您的
测验列表中

您需要
。为每个
“测验”
向您的
当前测验添加()。使用
currentQuizz.type=…
时,您只需用当前的一个覆盖前面的每个
“Quizz”
,因此您只会得到最后一个,即
D

我想你被自己的代码弄糊涂了。对于
“Quizzs”
标记,创建一个
Quizz()
对象,而不是
QuizzList()
对象或类似的对象。对于
“Quizz”
标记,每次都应该创建一个新的
Quizz()
对象。然后,您应该将该对象添加到您的
问答列表中

        while (eventType != XmlPullParser.END_DOCUMENT) {
            var eltName: String? = null

            when (eventType) {
                XmlPullParser.START_TAG -> {
                    eltName = parser.name

                    if ("Quizzs" == eltName) {
                        currentQuizz = Quizz()
                        quizz.add(currentQuizz)
                    } else if (currentQuizz != null) {
                        if ("Quizz" == eltName) {
                            currentQuizz.type = parser.getAttributeValue(null, "type")
                        }

                    }
                }
            }

            eventType = parser.next()
        }

        printPlayers(quizz)
    }