gpt4 book ai didi

android - myParser.getText 总是返回 null

转载 作者:行者123 更新时间:2023-11-30 01:17:09 25 4
gpt4 key购买 nike

所以,我很菜鸟,我正在尝试解析 this xml获取意大利电视节目列表。但是当我使用 myParser.getText 时,它将返回 null。我实际上进入了节点,但它不会从中获得任何值(value)。

    public void parseXMLAndStoreIt(XmlPullParser myParser) {
int event;
String text=null;
try {
event = myParser.getEventType();
while (event != XmlPullParser.END_DOCUMENT) {
String name=myParser.getName();
switch (event){

case XmlPullParser.START_TAG:
if(name.equals("display-name")){
channel = myParser.getText();
Log.d(name+" -->",myParser.getText());
}
else if(name.equals("programme")){
hour = myParser.getAttributeValue(null,"start");
Log.d(name+" -->",hour);
}
else if(name.equals("title")){
programme = myParser.getText();
Log.d(name+" -->",myParser.getText());
}
else if(name.equals("desc")){
description = myParser.getText();
Log.d(name+" -->",myParser.getText());
}
else {}
break;
case XmlPullParser.END_TAG:
}
event = myParser.next();
}
parsingComplete = false;
}

catch (Exception e) {
e.printStackTrace();
}
}

现在我的日志不会返回任何内容,因为 myParser.getText 为空,但如果我只打印名称,它实际上会返回节点。getAttributeValue 有效,但在这种情况下我需要它

else if(name.equals("programme")){
hour = myParser.getAttributeValue(null,"start");
Log.d(name+" -->",hour);

最佳答案

我假设您声明的变量 channel, hour, programme, description 是类变量?我看不到这些声明在哪里,但想确定一下。

至于 getText() 我认为你需要在 TEXT 事件中实际使用它,而不是 START_TAG

getText

在 API 级别 1 中添加 String getText()

以字符串形式返回当前事件的文本内容。值(value) 返回取决于当前事件类型,例如对于 TEXT 事件它 是元素内容(这是使用 next() 时的典型情况)。看 description of nextToken() 对可能的详细描述 不同类型事件的返回值。

https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html#getText()

关于android - myParser.getText 总是返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com