4

私はJavaアプリケーションの新しい開発者です。XML ファイルのノード値を変更したいと考えています。次のように変更にxmlファイルを使用しました

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

上記のxmlで、給与の値を345375に変更したいと思います。この変更のために、次のようにコードを書きました

 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();
    }

この方法を使用すると、その値は給与を変更しません。

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

4

2 に答える 2

1

まず、メモリにnode.setValue()格納されている表現を変更していることを認識する必要があります。それを知っていれば、その出力をディスクに書き込む方法を理解する必要があります。例については、これを参照してください。

于 2011-07-04T13:16:08.227 に答える
0
node.Text = "Enter your value here"; //This will work 
于 2011-07-30T01:33:42.723 に答える