Android 使用SDcard中的XmlPullParser进行解析

Android 使用SDcard中的XmlPullParser进行解析,android,android-sdcard,xmlpullparser,Android,Android 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

我做错了什么

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();}
错误:(

查看

或者

因此,它可以工作(未显示异常处理):


运行时错误?编译器错误?异常?输出不符合预期?请不要让我们进入猜测游戏。输入更多详细信息运行时错误。数据初始化为XmlPullParser parser=getResources().getXml(R.xml.new)一切正常。sdcard mount dir是否正常?是否真的有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));