2011-07-04 10 views
4

私はJavaアプリケーションの新しい開発者です。 XMLファイルのノード値を変更したいと思います。上記のXMLでXMLノードの値を変更する方法は?

<staff id="2"> 
     <firstname>yong</firstname> 
     <lastname>mook kim</lastname> 
     <nickname>mkyong</nickname> 
     <salary>2000000</salary> 
     <age>28</age> 
    </staff> 

を次のように私は修正のためのXMLファイルを使用している私は

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

    //Get the staff element by tag name directly 
    Node nodes = doc.getElementsByTagName("staff").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("salary".equals(node.getNodeName())){ 
      node.setNodeValue("345375");   
     } 
    } 
} 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 

を次のように私はこれを使用している場合、私は、コードを書かれているこの変更について345375.として給与の値を変更したいですその値は給与を修正しない。

XMLノードの値を変更するにはどうすればよいですか?

+0

私にはそうです。プログラムを終了する前にファイルを保存しましたか?それは捨てられるかもしれません。 – soBinary

+0

あなたはそれを保存する方法を教えてくださいできますか? –

答えて

0

まず、node.setValue()はメモリにに格納された表現を修正していることを認識しなければなりません。そのことを知っていれば、その出力をディスクに書き込む方法を理解するだけです。例については、thisを参照してください。

0
node.Text = "Enter your value here"; //This will work 
関連する問題