本文介绍了XmlPullParser getAttributeValue 返回 null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的 assets/xml 文件夹中存储了以下 XML 结构:
I have the following XML structure stored in my assets/xml folder:
<?xml version="1.0" encoding="utf-8"?>
<homescreen>
<homeitem name="Name1"
subtext="Description1"
icon="iconresource1" />
<homeitem name="Name2"
subtext="Description2"
icon="iconresource2" />
<homeitem name="Name3"
subtext="Description3"
icon="iconresource3" />
</homescreen>
我正在使用 XmlPullParser 读取每个单独的 homeitem
:
I'm reading each individual homeitem
using an XmlPullParser:
int event;
String TAG_ITEM = "homeitem";
while ((event = parser.next()) != XmlPullParser.END_DOCUMENT) {
if (event == XmlPullParser.START_TAG) {
String tag = parser.getName();
if (TAG_ITEM.equals(tag)) {
// Works - Logs "Name1"
Log.d(LOG_NAME, parser.getAttributeValue(0));
// Works - Logs "name"
Log.d(LOG_NAME, parser.getAttributeName(0));
// Works - Logs ""
Log.d(LOG_NAME, parser.getAttributeNamespace(0));
// Fails - Logs null
Log.d(LOG_NAME, parser.getAttributeValue(XmlPullParser.NO_NAMESPACE, "name"));
}
}
}
我的问题是:使用 getAttributeValue(String, String)
总是返回 null.使用 getAttributeValue(Integer)
工作正常.我做错了什么?
My problem is: using getAttributeValue(String, String)
always returns null. Using getAttributeValue(Integer)
works fine. What am I doing wrong?
设备:Nexus 10、Stock KitKat 4.4
Device: Nexus 10, Stock KitKat 4.4
推荐答案
试试这个:
parser.getAttributeValue(null, "name");
这篇关于XmlPullParser getAttributeValue 返回 null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!