Как редактировать XML в Android и сохранить? - PullRequest
3 голосов
/ 23 августа 2011

У меня есть файл XML, как

<?xml version="1.0" encoding="UTF-8"?>

<TODO-LIST>

<MYTASK TIME = "10:00">
 Meeting
</MYTASK>

<MYTASK TIME = "11:00">
Lecture
</MYTASK>


<MYTASK TIME = "12:00">
 Lunch
</MYTASK>

И так далее ...

Я могу прочитать его из папки res / xml, используя

   Resources res = activity.getResources();
   XmlResourceParser xpp = res.getXml(R.xml.tv_editor_todo_list);
   xpp.next();
   int eventType = xpp.getEventType();
   while (eventType != XmlPullParser.END_DOCUMENT)
   {
    if(eventType == XmlPullParser.START_DOCUMENT)
    {
     stringBuffer.append("--- Start XML ---");

    }
    else if(eventType == XmlPullParser.START_TAG)
    {
     stringBuffer.append("\nSTART_TAG: "+xpp.getName());

     ...

Мой вопрос, как я могу редактировать и обновлять файл XML на лету, например, скажем, изменить,

<MYTASK TIME = "10:00">
 Meeting
</MYTASK>

до

<YOURTASK TIME = "11:30">
 Reading
</YOURTASK>

И сохранить файл обратно?

1 Ответ

2 голосов
/ 23 августа 2011

Вы не можете изменять файлы, которые хранятся в папке res во время выполнения.Вам нужно будет сохранить файл xml либо во внутреннем хранилище приложений, либо на SDCard, если вы хотите иметь возможность изменять и повторно сохранять.

Что-то подобное даст вам optoutStream для вашего внутреннегохранение.

FileOutputStream fos = openFileOutput("yourfile.xml", Context.MODE_WORLD_READABLE);
...