我的应用程序正在运行。如果它们不存在,我需要在 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>