6
我有/存儲在我的資產以下XML結構的XML文件夾:XmlPullParser getAttributeValue返回null
<?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
:
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)
總是返回空。使用getAttributeValue(Integer)
工作正常。我究竟做錯了什麼?
設備:的Nexus 10,股票奇巧4.4
這工作。我想我只是假設這需要與'getAttributeNamespace'返回的相同的命名空間。 – CodingIntrigue
無論如何,應該傳遞什麼(或者看起來不傳遞)到這個參數? –
Works只是在START_TAG的情況下使用它 –