如何保存和更新 xml 文件中的值?

Posted

技术标签:

【中文标题】如何保存和更新 xml 文件中的值?【英文标题】:How to save & update the values in xml file? 【发布时间】:2011-09-30 04:36:04 【问题描述】:

我正在从 SD 卡中读取一个 xml 文件。这里我想改变XML文件的值,我想把文件保存到sd卡..

我的代码如下......请指导我如何在更新值后将 XML 文件保存到 sd 卡......

public void modifyNodeval()
        try
         DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
         DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
         Document doc = docBuilder.parse(new File("/sdcard/sss.xml"));

        //Get the staff element by tag name directly
         Node nodes = doc.getElementsByTagName("Employee").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("Emp_Name".equals(node.getNodeName()))
                 node.setNodeValue("795796");
             
         

【问题讨论】:

【参考方案1】:

类似这样的:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
StreamResult result = new StreamResult(file);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);

【讨论】:

【参考方案2】:

此方法将 DOM 文档写入 SD 卡上的文件 如果您想在模拟器中进行测试,请确保您的 AVD 映像设置为使用 SD 卡映像(在映像创建期间完成)。

public static void writeXmlFile(Document doc, String filename) 
    try 
        // Prepare the DOM document for writing
        Source source = new DOMSource(doc);

        File file new File(Environment.getExternalStorageDirectory(),fileName);

        Result result = new StreamResult(file);

        // Write the DOM document to the file
        Transformer xformer = TransformerFactory.newInstance().newTransformer();
        xformer.transform(source, result);
     catch (TransformerConfigurationException e) 
         // handle exception
     catch (TransformerException e) 
         // handle exception
    

【讨论】:

【参考方案3】:

how to modify xml node value?

【讨论】:

以上是关于如何保存和更新 xml 文件中的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何将本地保存的 xml 文件保存到 .plist 文件中

如何使用 Postgres 中 CSV 文件中的值更新选定的行?

c# LINQ-to-XML 更新(保存)排序后文件中的元素列表

将 HTML 表单数据保存为 XML

android中的xml文件更新

apk如何去除强制更新