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