如何从sdcard读取现有的xml文件并将新数据添加到其中

时间:2013-03-21 07:47:36

标签: android xml xml-parsing xml-serialization

我只想从sdcard读取xml文件,并希望在其中添加一些新数据。然后我必须把它写进SD卡。我该如何实现它。 任何帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

读取和编写XML文件示例here。你可以使用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()来获取外部存储目录的路径。请参阅一个简单示例here

不要忘记在清单文件中添加以下行,而不会产生任何效果。

如果你没有那样工作。使用特定问题更新您的问题。

答案 1 :(得分:0)

您只需使用

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

之后可以执行xml解析来读取该文件。