我在assets / xml文件夹中存储了以下
XML结构:
<?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)始终返回null.使用getAttributeValue(Integer)工作正常.我究竟做错了什么?
设备:Nexus 10,Stock KitKat 4.4
解决方法
试试这个 :
parser.getAttributeValue(null,"name");