I have a "config.xml" file in asset folder. I use the following code to read from it:
public static String readAppConfigKey(Context context, String section,
String key) {
String value = "";
AssetManager assetManager = context.getAssets();
InputStream istr;
try {
istr = assetManager.open("config.xml");
XmlPullParserFactory factory;
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xmlParser = factory.newPullParser();
xmlParser.setInput(istr, "UTF-8");
String strPrevElement = "";
String strElement = "";
String strKey = "";
xmlParser.next();
int eventType = xmlParser.getEventType();
while (eventType != XmlResourceParser.END_DOCUMENT) {
if (eventType == XmlResourceParser.START_TAG) {
if (xmlParser.getName().compareTo(strElement) != 0) {
// after any change
strPrevElement = strElement;
strElement = xmlParser.getName();
}
strKey = xmlParser.getAttributeValue(null, "key");
if (strPrevElement.compareTo(section) == 0
&& strKey != null && strKey.compareTo(key) == 0) {
value = xmlParser.getAttributeValue(null, "value");
return value;
}
}
eventType = xmlParser.next();
}
} catch (XmlPullParserException e) {
} catch (IOException e) {
}
return value;
}
How can I write in it using XmlPullParser?
Thanks,
I don't believe you can write to a file in the assets folder. I think you will have to copy it to the sdcard and read and write to it there.
Also, XmlPullParser only reads XML, it does not write. Look at this tutorial on how to modify XML: