我正在尝试解析流量数据。这是我第一次尝试解析XML,所以请善待!
我有这段代码 -
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
SAXParser parser = null;
try {
parser = parserFactory.newSAXParser();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
SAXHandler handler = new SAXHandler();
try {
parser.parse(new FileInputStream("http://m.highways.gov.uk/feeds/rss/AllEvents.xml"), handler);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
在我的清单中,我有 -
<uses-permission android:name="android.permission.INTERNET" />
但是当我在模拟器中运行应用程序时,它永远不会像位置那样请求权限。我得到的错误是 -
java.io.FileNotFoundException: http:/m.highways.gov.uk/feeds/rss/AllEvents.xml (No such file or directory)
为什么它错过了/后http:/?那是问题吗?试试网址,你会看到那里有数据。
我做错了什么? (我已搜索但只查找有关从存储卡读取的信息)
谢谢!
答案 0 :(得分:1)
http://m.highways.gov.uk/feeds/rss/AllEvents.xml
不是文件系统上的文件。它是Web服务器上托管的文档的URL。
或者:
使用HTTP客户端API将XML下载到文件,然后解析文件,或
使用HTTP客户端API获取直接传递给InputStream
parse()