解决Android中解析xml时遇到的MalformedURLException异常
来源:互联网 发布:utf8编码转换器c语言 编辑:程序博客网 时间:2024/05/21 17:00
Java/Android中解析xml文件,可以使用DOM的API。
如 读取xml中的值可以是:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try{ DocumentBuilder builder = dbf.newDocumentBuilder(); Log.d(TAG, "----onkeyDown # 1----"); //String path = "file:///data/data/com.example.androiddemo/network.xml"; //Document doc = builder.parse("/data/data/com.example.androiddemo/network.xml"); String path = "file:///data/data/com.example.androiddemo/network.xml"; Document doc = builder.parse(path); Log.d(TAG, "----onkeyDown # 2----"); NodeList nl = doc.getElementsByTagName("people"); for(int i=0; i<nl.getLength(); i++){ Element node = (Element)nl.item(i); String name = node.getNodeName(); String value = node.getNodeValue(); System.out.println("name : "+name+", value : "+value); } }catch(Exception ex){ ex.printStackTrace(); }
奇怪的是,在window中使用String path = "network.xml"; 可以正常解析。但在Android模拟器和机器上那个调试,却总是报
01-19 15:20:37.211: W/System.err(1050): java.net.MalformedURLException: Protocol not found: data/data/com.example.androiddemo/network.xml01-19 15:20:37.281: W/System.err(1050): at java.net.URL.<init>(URL.java:178)01-19 15:20:37.281: W/System.err(1050): at java.net.URL.<init>(URL.java:127)01-19 15:20:37.281: W/System.err(1050): at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:115)01-19 15:20:37.291: W/System.err(1050): at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:155)01-19 15:20:37.291: W/System.err(1050): at com.example.androiddemo.MainActivity.onKeyDown(MainActivity.java:41)01-19 15:20:37.291: W/System.err(1050): at android.view.KeyEvent.dispatch(KeyEvent.java:2551)01-19 15:20:37.291: W/System.err(1050): at android.app.Activity.dispatchKeyEvent(Activity.java:2329)01-19 15:20:37.302: W/System.err(1050): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1806)
的错误。错误注意第一行,说是protocol not found。
解决方法是使用file类型协议,如
String path = "file:///data/data/com.example.androiddemo/network.xml";然后调用
Document doc = builder.parse(path);解析,返回Document类型数据。搞定!
- 解决Android中解析xml时遇到的MalformedURLException异常
- Android中MalformedURLException的解决
- java解析xml时出现 java.net.MalformedURLException: unknown protocol:异常
- Android Get请求的utf-8格式,解决java.net.MalformedURLException异常
- Android:开发中遇到的异常Error解析
- Android开发中遇到的json解析异常问题
- Android中采用XmlPullParser解析xml文件异常的问题
- eclipse中遇到的异常解决方式
- android SAX解析xml抛的异常!
- 把字符串解析成xml的时候报错java.net.MalformedURLException: no protocol
- 在XML解析中遇到的XML CDATA
- android java中遇到的异常及报错如何解决?
- android 开发中遇到的异常
- android开发中遇到的异常总结
- android 中遇到的空指针异常
- android 中遇到的异常汇总
- Android中XML的解析
- android中XML的解析
- 七绝.晨望(二首)
- 文献阅读的心得分享
- 《Python核心编程 2nd》读书笔记(持续记录)
- Android开发环境快速搭建(使用ADT Bundle)
- xmodmap使用指南
- 解决Android中解析xml时遇到的MalformedURLException异常
- View.VISIBLE、INVISIBLE、GONE的区别
- sqlserver在企业管理器中设置datetime默认值为当前时间
- Bionic C 库概述(Bionic Overview)
- log4cxx编译、使用
- 字符流
- nutch-1.2和nutch-1.3的配置使用
- 使用spring.net+nibernate时如何用aspnet_regiis加密数据库连接字符串
- JNI中Java与C++的类型转换与相互调用