2010-10-11 9 views
1

Quelqu'un peut-il me dire comment convertir une chaîne en un fichier xml dans Android?Convertir une chaîne en un fichier xml dans android

Merci

+0

La chaîne est-elle déjà au format XML et vous souhaitez créer un objet en mémoire? Ou voulez-vous sortir une chaîne dans le cadre d'un document XML complet? –

+0

oui chaîne est déjà en XML. Je veux être un document XML – mohan

Répondre

0

Si l'application est simple et ne nécessite pas trop de performances de manipulation XML, le DOM devrait faire l'affaire. Sinon, essayez d'utiliser SAX qui peut donner un coup de fouet aux performances dans certaines occasions. Regardez tutorielqui explique bien les différences entre eux.

2

La méthode la plus sûre est la suivante:

Document doc = DocumentBuilderFactory 
    .newInstance() 
    .newDocumentBuilder() 
    .parse(
      new InputSource(
        new StringReader(string) 
      ) 
    ); 

Certaines personnes disent que vous devez fermer la StringReader, but that doesn't have any practical benefit in this case.

Il y a une autre solution en utilisant ByteArrayInputStream:

Document doc = DocumentBuilderFactory 
    .newInstance() 
    .newDocumentBuilder() 
    .parse(
      new ByteArrayInputStream(
        string.getBytes("UTF-8") 
      ) 
    ); 

Assurez-vous que vous spécifiez explicitement le codage lors de l'utilisation string.getBytes, otherwise it uses the system default encoding, ce qui pourrait changer en fonction de ce que la plate-forme que vous utilisez. On dirait que UTF-8 est ce que veut la méthode d'analyse, but it's not in the docs.

Questions connexes