Quiero editar el valor de un nodo de un archivo XML existente a partir de la tarjeta SD.Cómo editar el valor de un nodo de un archivo XML existente desde una tarjeta SD y guardarlo de nuevo?
Por ejemplo, si quiero editar RouteName
's valor de viaje Montaña a viaje Mar.
<Trip>
<RouteID>12345</RouteID>
<RouteName>Mountain Trip</RouteName>
</Trip>
Intento utilizar el siguiente código pero no afecta al archivo XML en la tarjeta SD.
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(
new File(Environment.getExternalStorageDirectory()+"/Trip/"+tripID+".trip"));
Node nodes = doc.getElementsByTagName("RouteName").item(0);
// newname is String variable which retrives value from edittext
nodes.setNodeValue(newname);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(
new File(Environment.getExternalStorageDirectory()+"/Trip/"+tripID+".trip"));
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
}
¿Por qué no se actualiza el archivo XML en la tarjeta SD?