6
मैं निम्नलिखित XML संरचना मेरी संपत्ति में संग्रहीत/xml फ़ोल्डर:XmlPullParser getAttributeValue रिटर्न अशक्त
<?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)
का उपयोग ठीक काम करता है। मैं क्या गलत कर रहा हूं?
डिवाइस: नेक्सस 10, स्टॉक किटकैट 4.4
यह काम करता है। मुझे लगता है कि मैं बस यह मान रहा था कि यह वही नेमस्पेस चाहता था जैसा कि 'getAttributeNamespace' द्वारा लौटाया गया था। – CodingIntrigue
वैसे भी इस पैरामीटर में पास होने (या ऐसा लगता है, गुजरना) क्या होना चाहिए? –
काम करता है बस इसे START_TAG मामले में उपयोग करें –