2010-12-14 8 views
14

Korzystam z następującego kodu do parsowania pliku XML.Parsowanie ciągów XML w systemie 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){} 

Zamiast pliku XML istnieje sposób na sparsowanie ciągu.

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

Co próbujesz zrobić jest bardzo niejasna. Jeśli masz już ciąg znaków - dlaczego potrzebujesz parsera XML? – Ofir

Odpowiedz

27

można przekonwertować ciąg na InputStream wykorzystaniem ByteArrayInputStream:

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

dom = builder.parse(is); 
+0

Dzięki za pomoc – RMK

2

Można użyć StringReader:

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

Dzięki za pomoc! – RMK

+0

Czy druga linia to 'InputSource is = new InputSource (sr);' zamiast? –

+0

Rzeczywiście tak powinno być. Poprawione, dzięki! –