2011-07-07 18 views
6

Estoy leyendo un archivo xml de la tarjeta SD. Aquí quiero cambiar los valores del archivo XML y quiero guardar el archivo en la tarjeta SD.¿Cómo guardar y actualizar los valores en el archivo xml?

Mi código es como el siguiente .... Por favor, guíame cómo guardar el archivo XML en la tarjeta SD después de la actualización de los valores ..

public void modifyNodeval(){ 
     try{ 
     DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); 
     Document doc = docBuilder.parse(new File("/sdcard/sss.xml")); 

     //Get the staff element by tag name directly 
     Node nodes = doc.getElementsByTagName("Employee").item(0); 
     //loop the staff child node 
     NodeList list = nodes.getChildNodes(); 

     for (int i =0; i<list.getLength();i++){ 
      Node node = list.item(i); 

      //get the salary element, and update the value 
      if("Emp_Name".equals(node.getNodeName())){ 
       node.setNodeValue("795796"); 
      } 
     } 

Respuesta

1

Algo como esto:

Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
StreamResult result = new StreamResult(file); 
DOMSource source = new DOMSource(doc); 
transformer.transform(source, result); 
0

este método escribe un documento DOM en un archivo en la tarjeta SD Si Si desea probar esto en el emulador, asegúrese de que su imagen AVD esté configurada con una imagen de tarjeta SD (realizada durante la creación de la imagen).

public static void writeXmlFile(Document doc, String filename) { 
    try { 
     // Prepare the DOM document for writing 
     Source source = new DOMSource(doc); 

     File file new File(Environment.getExternalStorageDirectory(),fileName); 

     Result result = new StreamResult(file); 

     // Write the DOM document to the file 
     Transformer xformer = TransformerFactory.newInstance().newTransformer(); 
     xformer.transform(source, result); 
    } catch (TransformerConfigurationException e) { 
     // handle exception 
    } catch (TransformerException e) { 
     // handle exception 
    } 
} 
Cuestiones relacionadas