用SDcard解析XmlPullParser

问题描述:

我在做什么错?用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吗?您是否在清单中添加了访问外部存储的权限? –

所以,它的工作原理(未显示异常处理):

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));