I've been using the code below to decode the XML. Not pretty. but it
gives you a summary of the XML. It should be cleaned up, but I haven't
had the time to do that yet. I was hoping if I put it here someone
else might like clean it up. :)
The code will load (and decode!) all XML resources in an application,
and display them on the log.
If you do something with this, I'd be really keen to hear about it.
gives you a summary of the XML. It should be cleaned up, but I haven't
had the time to do that yet. I was hoping if I put it here someone
else might like clean it up. :)
The code will load (and decode!) all XML resources in an application,
and display them on the log.
Resources r2;
r2 = this.getPackageManager().getResourcesForApplication("com.google.android.con tacts");
int start = R.layout.main;
while (true) {
XmlPullParser xpp = r2.getXml(start);
start++;
eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
Log.w(LOG_TAG, "Start document");
} else if(eventType == XmlPullParser.END_DOCUMENT) {
Log.w(LOG_TAG, "End document");
} else if(eventType == XmlPullParser.START_TAG) {
int count = xpp.getAttributeCount();
String tag = "<" +xpp.getName();
for (int i = 0 ; i <count; ++i) {
String attrNS= xpp.getAttributeNamespace(i);
String attrName = xpp.getAttributeName(i);
if (attrNS !=null) {
attrName = attrNS + ":" + attrName;
}
String value = xpp.getAttributeValue(i);
tag += " " + attrName + "=\"" + value +"\"";
Log.w(LOG_TAG,tag);
tag = "";
}
tag += ">";
Log.w(LOG_TAG, tag);
} else if(eventType == XmlPullParser.END_TAG) {
Log.w(LOG_TAG, "</"+xpp.getName() + ">");
} else if(eventType ==XmlPullParser.TEXT) {
Log.w(LOG_TAG, xpp.getText());
} else {
Log.w(LOG_TAG,"Something else: " + eventType);
}
eventType = xpp.next();
}
Log.w(LOG_TAG, "DONE");
}
If you do something with this, I'd be really keen to hear about it.