0

我只想从 sdcard 中读取 xml 文件,并想在其中添加一些新数据。然后我必须将它写入sdcard。我该如何实现它。任何帮助将不胜感激。

4

2 回答 2

0

此处给出了读取和写入 XML 文件的示例。你可以使用google获得很多。然而,两个重要的类是XmlSerializerXmlPullParser。一个简单的 XmlSerializer 示例是:-

public static String CreateXMLString() throws IllegalArgumentException, IllegalStateException, IOException
{
    XmlSerializer xmlSerializer = Xml.newSerializer();
        StringWriter writer = new StringWriter();

    xmlSerializer.setOutput(writer);

    //Start Document
    xmlSerializer.startDocument("UTF-8", true); 
    xmlSerializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
    //Open Tag <file>
    xmlSerializer.startTag("", "file");

    XmlSerializer tempXml = Xml.newSerializer();
    StringWriter tempWriter =  new StringWriter();


    xmlSerializer.startTag("", "something");
    xmlSerializer.attribute("", "ID", "000001");

    xmlSerializer.startTag("", "name");
    xmlSerializer.text("CO");
    xmlSerializer.endTag("", "name");

    xmlSerializer.endTag("", "something");



    //end tag <file>
    xmlSerializer.endTag("", "file");
    xmlSerializer.endDocument();

    return writer.toString();
}

同样,您也可以为 XmlPullParser 找到一个。由于您要在 sdCard 中读取/写入文件,请不要忘记调用Environment.getExternalStorageDirectory().getAbsolutePath()以获取外部存储目录的路径。在这里看一个简单的例子。

不要忘记将以下行添加到您的清单文件中,否则不会有任何效果。

如果你不让那个工作。用具体问题更新您的问题。

于 2013-03-21T08:00:31.503 回答
0

你只是为了得到文件使用

File file = new File(Environment.getExternalStorageDirectory()
                + "your_path/your_xml.xml");

在您可以进行 xml 解析以读取该文件之后。

于 2013-03-21T08:05:06.923 回答