更新android sdcard上的xml节点值

时间:2014-02-03 14:55:02

标签: android xml updates

您好我有一个更新节点值的Android应用程序。 sdcard上存在Xml文件,我正在尝试读取和更新xml文件。

我正在使用以下代码。

private void SaveToXml() {

    String destFile = Environment.getExternalStorageDirectory().toString()+"/file.xml";
    try {

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        Document doc = (Document) docBuilder.parse(destFile);

        Node path = doc.getElementsByTagName("path").item(0);
        path.setNodeValue(txtPath.getText().toString());

        TransformerFactory transFactory = TransformerFactory.newInstance();
        Transformer trans = transFactory.newTransformer();
        trans.setOutputProperty(OutputKeys.INDENT, "yes");
        DOMSource source = new DOMSource(doc);
        StreamResult result = new StreamResult(new File(destFile));
        trans.transform(source, result);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

但事情并没有改变。节点值保持不变。 任何有用的想法将不胜感激..

1 个答案:

答案 0 :(得分:0)

经过长时间寻找答案后,这个问题的解决方案非常令人尴尬。 我用了     path.setNodeValue(txtPath.getText()的toString()); 更改节点值,但在这种情况下只使用     path.setTextContent(txtPath.getText()的toString()); (将setNodeValue更改为setTextContent)就足够了。