2010-05-11 6 views
2

analogique à celui-ci (ou Replacing XML in File from "Document" in Java http://www.exampledepot.com/egs/javax.xml.transform/WriteDom.html) je tente de l'utiliser sous Android ...Android: DOM-modèle XML

Le problème est que je ne peux pas utiliser la solution proposée sous Android, car il jette java.lang.verifyError ...

Après avoir lu un peu, j'ai découvert, que la classe qui a été utilisée pour stocker les données dans un fichier, ne sont pas utilisables dans Android ...

pouvez-vous suggérer une autre solution, qui est similaire facile à utiliser?

Répondre

0

Vous pouvez utiliser XMLSerializer.

Exemple:

FileOutputStream fos = mContext.openFileOutput("filename", Context.MODE_PRIVATE); 
BufferedOutputStream buf = new BufferedOutputStream(fos); 

XmlSerializer serializer = XmlPullParserFactory.newInstance().newSerializer(); 
serializer.setOutput(buf, "utf-8"); 
serializer.startDocument("utf-8", Boolean.TRUE); 
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); 
serializer.startTag(null, "yourRootTag"); 

... et ainsi de suite. Documents API Android here.

+0

Salut, merci pour la réponse. Cela me semble, que je dois parcourir tout le document et le mettre manuellement dans le fichier XML? – poeschlorn

1

Ce code devrait fonctionner directement sur Android, mais malheureusement du niveau de l'API 8, qui comprend Java XML Transformer API. Malheureusement, cette version d'Android est plutôt nouvelle (jours) et aucun firmware téléphonique officiel basé sur cette version de plate-forme n'est encore disponible pour un terminal actuel (mais le Nexus One), bien qu'au moins certains fabricants aient déclaré qu'ils le soutiendraient sur les modèles récemment publiés: HCT, Motorola.

+0

mh ... semble bien, mais je veux développer sur API niveau 7 (ou plus bas si possible) Mais c'est une belle indice ;-) -> Upvote – poeschlorn