【发布时间】:2011-04-22 21:50:18
【问题描述】:
我正在尝试解析我的 android 设备上 sdCard 上的 XML 文件。
这段代码-
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
sp.parse("/mnt/sdcard/Speedr/pg55/META-INF/container.xml", xmlHandler);
输出这个错误 -
无法打开 /mnt/sdcard/Speedr/pg55/META-INF/container.xml
原因:java.net.MalformedURLException:找不到协议:/mnt/sdcard/Speedr/pg55/META-INF/container.xml
为了简单起见,我更改了 sp.parse() 位置,但这正是实际代码中传递给方法的内容。我还去掉了应该围绕它的 try/catch 括号。
该文件肯定在那里,如果我在手机或计算机上浏览它,我可以看到它,并且位置也是正确的,因为它没有给我 FileNotFound 错误。
我最初用独立的 Java 构建了这段代码,并试图在 Android 设备上实现它并遇到了这个错误。错误日志确实没什么用。
如果我能从这里的任何人那里得到任何帮助,我将不胜感激。
【问题讨论】:
-
请您分享堆栈跟踪,这将帮助我们找出问题的根源/原因。
-
这是我的问题,try/catch 括号捕获的唯一错误就是我向您展示的内容,它没有给我任何其他信息。之后的任何错误都是由于无法读取文件而导致的。
-
其实我对这个错误的堆栈跟踪很感兴趣。您应该从 LogCat 复制它(或者如果您不使用它,只需在调试设备上的应用程序时运行 ddms)。请参阅我的帖子,可能会帮助您进入正确的方向。
-
实际上,当我再次查看时,我发现它有一个 java.net.MalformedURLException,我已经编辑了主要评论以显示这一点。也许这会更接近问题?顺便谢谢你的帮助
标签: java android xml parsing android-sdcard