Java 在android中如何在xml中附加标签?如何保存xml文件?

Java 在android中如何在xml中附加标签?如何保存xml文件?,java,android,xml,Java,Android,Xml,我想在xml文件中附加一个新的标记,该标记带有一些属性,这些属性值包含在xml文件中,并通过我的应用程序保存该xml文件。我已经编写了一个将新标记作为子标记附加到xml文件的方法,该方法在android emulator的sdcard中可用。下面是附加新标记的方法,如下所示 public void appendTag(){ try{ DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory

我想在xml文件中附加一个新的标记,该标记带有一些属性,这些属性值包含在xml文件中,并通过我的应用程序保存该xml文件。我已经编写了一个将新标记作为子标记附加到xml文件的方法,该方法在android emulator的sdcard中可用。下面是附加新标记的方法,如下所示

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

}
     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);
执行此方法后,我无法在xml文件中找到新标记

能否请任何人帮助我们如何在xml文件中附加新标记作为子标记,以及如何保存修改

如果我使用TransformerFactory,我得到的错误如下 ERROR/AndroidRuntime(13479):java.lang.VerifyError:com.sample.xmlapp.DOMClass 我用了如下方法

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

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

内存中的文档将被更改,但您需要再次将其写入文件

尝试添加此选项以再次将文档写入文件:

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

如果我使用上面的TransformerFactory类,我会遇到以下错误如何解决该错误?07-07 12:36:22.361:error/AndroidRuntime(12276):java.lang.VerifyError:com.fitzgerald.xmlapp.domClass哪种API级别?看起来老的没有transformerfactory。看看情况是否如此。