我的应用程序正在运行。如果它们不存在,我需要在 SDCard 中创建 XML 文件和目录。
我使用此代码从 Assets 获取 XML 文件
public Document abrirArchivo()
{
Document internalDom = null;
//Cargo el archivo xml en una variable Document
try
{
AssetManager assManager = context.getAssets();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
internalDom = dBuilder.parse(assManager.open("gastos.xml"));
}
catch (Exception e) {
e.printStackTrace();
}
return internalDom;
}
然后将此文档保存到 SDCard 中的文件中
public void crearArchivo(){
String pathDirectorio=android.os.Environment.getExternalStorageDirectory().toString()+"/AdministradorGastos/";
File directorio= new File(pathDirectorio);
File archivoExiste= new File(path);
directorio.mkdirs();
if(!archivoExiste.exists())
{
Document dom= abrirArchivo();
try
{
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult streamResult = new StreamResult(new File(pathDirectorio+"gastos.xml"));
DOMSource source = new DOMSource(dom);
transformer.transform(source, streamResult);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
问题是我在 SDCard 中得到一个空的 xml 文件,而我在 Assets 中的 XML 文件是这样的:
<?xml version="1.0"?>
<gastos>
<gasto>
<descripcion>Default</descripcion>
<monto>0</monto>
<fecha>01/01/1900</fecha>
</gasto>
</gastos>