2011-08-23 52 views
3

我有一個XML文件,如如何在Android中編輯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> 

並保存該文件嗎?

回答

2

無法在運行時修改存儲在res文件夾中的文件。您需要將您的xml文件存儲在您的應用程序內部存儲器中,或者如果您想要修改並重新保存,則需要將其存儲在SDCard中。

像這樣的東西會給你一個optoutStream到你的內部存儲。

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

非常感謝您的信息。好的,請讓我稍微改述一下我的問題。如果我從res/xml中讀取文件,並且我同意並希望保存在SDCard上。不過,我處於黑暗中,我如何才能在上面的問題中改變這些值?任何想法? –

+0

你使用你的代碼獲得了這些值('Resources res = activity.getResources(); ...'),然後將它保存到一個文件中,從現在起,你將不得不解析文件而不是查看資源文件。 – Phil

相關問題