如何从res / xml本地项目文件夹中打开和编辑XML文件

时间:2011-09-28 10:46:37

标签: android xml file

我可以从Eclipse的android项目的本地文件夹中打开xml文件来读取值:

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 :(得分:0)

  

但有人知道如何打开本地xml文件来编辑文件并在之后保存。

如果“本地xml文件”是指getFilesDir()中的文件,请使用DOM或SAX或XmlPullParser

如果“本地xml文件”是指资源,并且您想要修改该资源,那么这在运行时是不可能的。

答案 1 :(得分:0)

无法在程序的res文件夹中编辑xml资源 您可以尝试其他方式,例如在应用首次启动时将资源保存到SharedPreference或SQLite,稍后您只需编辑并使用自己的副本。
当您使用资源填充某些组件时,这很有用,但不适合布局。