Chciałbym dodać nowy znacznik z niektórymi atrybutami z tymi wartościami do pliku xml i zapisać ten plik xml za pośrednictwem mojej aplikacji.i napisałem metodę dołączania nowego znacznika jako potomka do pliku xml, który jest dostępny w sdcard z android emulator.the następujący sposób dołączyć nowy tag następującojak dodawać znaczniki w języku xml w systemie Android? i jak zapisać ten plik xml?
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();
}
}
po wykonaniu tej metody nie mogę w stanie znaleźć nowy tag w pliku xml.
mogłaby zaspokoić każdą pomoc dotyczącą dodania nowego znacznika jako elementu potomnego do pliku xml i sposobu zapisania modyfikacji?
jeśli używa TransformerFactory otrzymuję błąd jak ERROR/Android Runtime (13479): java.lang.VerifyError: com.sample.xmlapp.DOMClass Użyłem następująco
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);
jeśli użyłem powyżej klasy TransformerFactory otrzymuję następujący błąd w jaki sposób mogę rozwiązać ten błąd 07-07 12: 36: 22,361: ERROR/AndroidRuntime (12276): java.lang.VerifyError: com.fitzgerald.xmlapp.DOMClass –
Który poziom interfejsu API masz? Wygląda na to, że starsi nie mają transformatora. Zobacz [ten post] (http://stackoverflow.com/questions/2290945/writing-xml-on-android), jeśli tak jest. – wjans