我无法解析我的XML文件,它仅返回一个元素,而不是4
这是我的XML文件
<Quizzs>
<Quizz type="A">...</Quizz>
<Quizz type="B">...</Quizz>
<Quizz type="C">...</Quizz>
<Quizz type="D">...</Quizz>
</Quizzs>
仅返回最后一个“ D”
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)
}
答案 0 :(得分:0)
您需要为每个.add()
currentQuizz
"Quizz"
进行一些操作。使用currentQuizz.type = ...
,您只需用当前的"Quizz"
覆盖每个先前的D
,最后只剩下最后一个"Quizzs"
。
我认为您对自己的代码感到困惑。为Quizz()
标签创建一个QuizzList()
对象,而不是"Quizz"
对象或类似对象。对于Quizz()
标签,您应该每次创建一个新的QuizzList
对象。然后,您应该将该对象添加到retrievePetData(): Observable<any>{
let body = JSON.stringify({type: "Dog"});
return this.http.post<any>(this.endpoint, body);
}
中。