Как открыть и отредактировать файл XML из локальной папки проекта res / xml - PullRequest
0 голосов
/ 28 сентября 2011

Я могу открыть XML-файлы из моей локальной папки проекта Android в Eclipse, чтобы прочитать значения:

Resources res = activity.getResources();
XmlResourceParser xpp = res.getXml(R.xml.tittes);

Но как я могу открыть локальный XML-файл, чтобы отредактировать файл и сохранить его после?


Спасибо за ответы!.,

Я имею в виду локальный файл, XML-файл, который мне нужно прочитать и отредактировать для хранения данных.Я решил поместить файл в папку ресурса , и я могу легко открыть его для чтения ::

*DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = factory.newDocumentBuilder();
    InputStream iS = this.getAssets().open("myFile.xml");  
Document doc = docBuilder.parse(iS);*

... ,, но я не получаю, после того, какмного попыток, способ сохранить файл для редактирования : моя последняя попытка:

                        *TransformerFactory transfac = TransformerFactory.newInstance();
            Transformer trans = transfac.newTransformer();

                //create string from xml tree
                StringWriter sw = new StringWriter();
                StreamResult result = new StreamResult(sw);
                DOMSource source = new DOMSource(doc);
                trans.transform(source, result);
                String xmlString = sw.toString();


                OutputStream f0;
            byte buf[] = xmlString.getBytes();
            **f0 = new FileOutputStream("/assets/wines.xml");**
            //f0 = new FileOutputStream("file:///assets/wines.xml");
            for(int i=0;i<buf .length;i++) {
               f0.write(buf[i]);
            }
            f0.close();
            buf = null;*

и неудавшийся результат Файл не найден !! !,,Я из проектов C #, и я не мог себе представить, что сохранить измененный файл было так сложно,.,

какие-нибудь идеи?! ¿!?еще раз спасибо !!

Ответы [ 2 ]

0 голосов
/ 28 сентября 2011

Невозможно редактировать ресурсы XML в папке res в вашей программе.
Вы можете попробовать другой способ, например сохранить свои ресурсы в SharedPreference или SQLite при первом запуске приложения, а затем просто отредактируйте и используйте свою собственную копию.
Это полезно, когда вы используете ресурс для заполнения какого-либо компонента, но не подходит для макетов.

0 голосов
/ 28 сентября 2011

но кто-нибудь знает, как я могу открыть локальный XML-файл, чтобы отредактировать файл и сохранить его после.

Если под "локальным XML-файлом" вы подразумеваете файл в getFilesDir()используйте DOM, SAX или XmlPullParser.

Если под «локальным файлом XML» вы подразумеваете ресурс и хотите изменить этот ресурс, то это невозможно во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...