2010-12-14 14 views
14

XML dosyasını ayrıştırmak için aşağıdaki kodu kullanıyorum.XML Dize, Android'de ayrıştırma yapıyor mu?

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 dosyası yerine, dizeyi ayrıştırmanın herhangi bir yolu var.

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

. Zaten bir diziniz varsa - neden bir XML ayrıştırıcısına ihtiyacınız var? – Ofir

cevap

27

Sen ByteArrayInputStream kullanarak bir inputStream için dize dönüştürebilirsiniz:

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

dom = builder.parse(is); 
+0

Yardımınız için teşekkürler – RMK

2

Sen StringReader kullanabilirsiniz: Ne yapmaya çalışıyoruz çok belirsizdir

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

Kind for Your Yardımınız için teşekkürler! – RMK

+0

İkinci satırın 'InputSource = yeni InputSource (sr); 'yerine? –

+0

Gerçekten de olmalı. Bu düzeltildi, teşekkürler! –