Как я могу записать в файл XML? - PullRequest
1 голос
/ 10 июля 2011

У меня есть файл config.xml в папке ресурсов. Я использую следующий код для чтения из него:

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

Как я могу написать в нем, используя XmlPullParser?

Спасибо

1 Ответ

2 голосов
/ 10 июля 2011

Я не верю, что вы можете записать файл в папку ресурсов.Я думаю, вам придется скопировать его на SDCard и прочитать и записать туда.

Кроме того, XmlPullParser только читает XML, но не пишет.Посмотрите в этом руководстве, как изменить XML:

Как изменить файл XML в Java

...