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



我可以在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;*

,失败的结果是File not found!!!我来自c#项目。我无法想象保存一个修改过的文件是如此困难,

任何想法? ! ! ?再次感谢! !

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

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

如果"本地xml文件"指的是一个资源,并且你想修改该资源,那么在运行时这是不可能的。

在程序中无法编辑res文件夹中的xml资源。
你可以尝试另一种方式,比如在应用程序第一次启动时将资源保存到SharedPreference或SQLite中,之后你只需编辑和使用自己的副本。当您使用资源填充某些组件时,这很有用,但不适用于布局。

最新更新