8

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>

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"));
        }
    }
}

My problem is: using getAttributeValue(String, String) always returns null. Using getAttributeValue(Integer) works fine. What am I doing wrong?

Device: Nexus 10, Stock KitKat 4.4

1 Answer 1

19

try this :

parser.getAttributeValue(null, "name"); 
Sign up to request clarification or add additional context in comments.

6 Comments

This works. I guess I was just assuming this wanted the same namespace as returned by getAttributeNamespace.
What are supposed to be passing (or not passing, as it seems) to this parameter anyway?
Works just use this in START_TAG case
why do we always pass null in the first parameter(namespace) ?
I think its default value if attribute does not exist.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.