2010-12-14 3 views
14

Я использую следующий код для анализа XML-файла.Разбор XML-строк в 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){} 

Вместо XML-файла есть ли способ разбора строки.

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

То, что вы пытаетесь сделать, это очень неясно. Если у вас уже есть строка - зачем вам нужен XML-парсер? – Ofir

ответ

27

Вы можете преобразовать строку в InputStream с помощью ByteArrayInputStream:

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

dom = builder.parse(is); 
+0

Спасибо за вашу помощь – RMK

2

Вы можете использовать StringReader:

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

Спасибо за ваш отзыв! – RMK

+0

Если вторая строка будет 'InputSource is = new InputSource (sr);' вместо этого? –

+0

Действительно, это должно быть. Это исправлено, спасибо! –