如何修改XML节点值?

时间:2011-07-04 12:48:04

标签: android xml xmlnode

我是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节点值?

2 个答案:

答案 0 :(得分:0)

首先,您必须意识到node.setValue()正在修改存储在内存中的表示。知道了,那么你只需要弄清楚如何将输出写入磁盘。有关示例,请参阅this

答案 1 :(得分:0)

node.Text = "Enter your value here"; //This will work