2012-01-23 3 views
0

Я хотел бы изменить значения узла RouteName, в соответствии с приведенным ниже кодом, я изучил некоторые учебники и применил их. Я на правильном пути? Что я упустил?Значения XML не меняются после использования setNodesValue

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 retrive value from edite text box 
     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(); 
    } 
+0

У меня есть свой ответ здесь http://stackoverflow.com/a/8984258/762919 –

ответ

1

вы пишете/установка нового значения DOM объект, который не является физическим файлом/документ, если вы хотите, чтобы отразить изменения в файловой системе, вам нужно написать новое содержание на FileOutputStream.

+0

У вас есть пример? –

Смежные вопросы