我只想从sdcard读取xml文件,并希望在其中添加一些新数据。然后我必须把它写进SD卡。我该如何实现它。 任何帮助将受到高度赞赏。
答案 0 :(得分:0)
读取和编写XML文件示例here。你可以使用google获得大量的内容。但是,有两个重要的类别是XmlSerializer
和XmlPullParser
。一个简单的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解析来读取该文件。