【问题标题】:How to open and edit an XML file from res/xml local project folder如何从 res/xml 本地项目文件夹中打开和编辑 XML 文件
【发布时间】:2011-09-28 10:46:37
【问题描述】:

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

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

但是我怎样才能打开一个本地的 xml 文件来编辑文件并在之后保存呢?


感谢您的回复!.,

我的意思是本地文件,我需要读取和编辑用于数据存储目的的 XML 文件。我决定将文件放在 asset 文件夹 中,我可以轻松打开它以供阅读::

*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# 项目,我无法想象保存修改后的文件如此困难,.,

有什么想法吗?!¿!?再次感谢!!

【问题讨论】:

    标签: android xml file


    【解决方案1】:

    但是任何人都知道我如何打开一个本地 xml 文件来编辑该文件并在之后保存它。

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-18
        • 1970-01-01
        • 2011-11-15
        • 1970-01-01
        • 2019-12-17
        相关资源
        最近更新 更多