且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何添加标签在XML中的android?如何保存XML文件?

更新时间:2023-11-24 16:22:28

您在内存中的文件将被改变,但你会需要它再次写入文件。

尝试添加此再次写入文件到文件:

 的TransformerFactory厂= TransformerFactory.newInstance();
变压器变压器= factory.newTransformer();

DOMSource的源=新DOMSource的(文件);
StreamResult结果=新StreamResult(新文件(/ SD卡/ sample.xml中));
transformer.transform(源,结果);
 

i would like to append a new tag with some attributes with those values in to xml file and save that xml file through my application.i have written a method for append a new tag as child to xml file which is available in sdcard of android emulator.the following method for append a new tag as follows

   public void appendTag(){

    try{

        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        Document doc = docBuilder.parse (new File("/sdcard/sample.xml"));

     Node node = doc.getElementsByTagName("earth").item(0);

     //append a new node to earth
     Element newelmnt = doc.createElement("new");
     newelmnt.appendChild(doc.createTextNode("this is a text"));
     node.appendChild(newelmnt);


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

}

after execution of this method i can't able to find a new tag in xml file.

could please any one help on how to append new tag as child in xml file and how save the modification?

if i uses TransformerFactory i am getting error as ERROR/AndroidRuntime(13479): java.lang.VerifyError: com.sample.xmlapp.DOMClass i have used as follows

     TransformerFactory factory = TransformerFactory.newInstance();
     Transformer transformer = factory.newTransformer();

     DOMSource source = new DOMSource(doc);
     StreamResult result = new StreamResult(new File("/sdcard/sample.xml"));
     transformer.transform(source, result);

Your in memory document will be changed, but you will need to write it to a file again.

Try adding this for writing the document to the file again:

TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();

DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("/sdcard/sample.xml"));
transformer.transform(source, result);