2011-12-13 69 views
3

我在做什麼錯?用SDcard解析XmlPullParser

InputStream in = new FileInputStream("/sdcard/new.xml"); 
XmlPullParser parser1 = Xml.newPullParser(); 
parser1.setInput(in, "utf-8"); 

好的。 嘗試解析XML代碼每個標籤

while (parser1.getEventType()!= XmlPullParser.END_DOCUMENT) { 

Toast.makeText(this, parser1.getName(),Toast.LENGTH_SHORT).show(); 
parser1.nextToken();} 

錯誤:(

+0

運行時錯誤?編譯器錯誤?異常?輸出不符合你的預期?請不要讓我們進入猜測遊戲。放置更多詳細信息 –

+0

運行時錯誤。將數據初始化爲XmlPullParser parser = getResources()。getXml(R.xml.new)就可以了。 – yuriy

+0

是你的SD卡安裝目錄好嗎?真的有new.xml嗎?您是否在清單中添加了訪問外部存儲的權限? –

回答

1

所以,它的工作原理(未顯示異常處理):

XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
factory.setNamespaceAware(true); 
XmlPullParser parser = factory.newPullParser(); 
File file = new File(Environment.getExternalStorageDirectory()+ "/new.xml"); 
FileInputStream fis = new FileInputStream(file); 
parser.setInput(new InputStreamReader(fis)); 
相關問題