2010-12-14 3 views
14

J'utilise le code suivant pour analyser le fichier XML.Analyse de chaîne XML dans Android?

DocumentBuilderFactory factory; 
DocumentBuilder builder; 
InputStream is; 
Document dom; 
try { 
    factory = DocumentBuilderFactory.newInstance(); 
    is = new FileInputStream(strFileName); 
    builder = factory.newDocumentBuilder(); 

    dom = builder.parse(is); 
} 
catch(Exception e){} 

Au lieu du fichier XML, il est possible d'analyser la chaîne.

String xml="<?xml version="1.0"?> <name> Application</name> <demo> Demo </demo> </xml>"; 
+1

Ce que vous essayez de faire est très claire. Si vous avez déjà une chaîne - pourquoi auriez-vous besoin d'un analyseur XML? – Ofir

Répondre

27

Vous pouvez convertir votre chaîne en utilisant InputStream ByteArrayInputStream:

String xml ="valid xml here"; 
InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8")); 

dom = builder.parse(is); 
+0

Merci pour votre aide – RMK

2

Vous pouvez utiliser StringReader:

StringReader sr = new StringReader(xml); 
InputSource is = new InputSource(sr); 
Document d = builder.parse(is); 
+0

Merci pour votre aide! – RMK

+0

La seconde ligne doit-elle être 'InputSource is = new InputSource (sr);' à la place? –

+0

En effet, il devrait être. C'est corrigé, merci! –