`
happmaoo
  • 浏览: 4505704 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[xmlpull]XmlPull常见错误

阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>

[xmlpull]XmlPull常见错误

编写者

日期

关键词

郑昀@ultrapower

2005-9-28

Xmlpull kxml java

Xmlpull官方站点:http://www.xmlpull.org/

优点:不必等整个文档解析完成,部分求值结果早就可以开始反馈给用户。

What Is It?

XmlPull project is dedicated to be a site for

  • for general Pull parsing promotion/education (including StAX) and in particular to contain easy-to-reuse samples and code fragments

  • a resource for discussing new ideas and concepts related to pull parsing

  • a java namespace (org.xmlpull.*) and project location of a free implementation of the event object API and Factories, based on the StAX XMLStreamReade and old Common API for XML Pull Parsing

  • as java namespace and project location of StAX and XmlPull based utilities and samples such as:
    - providing an XML stream from a DOM tree
    - a DOM builder
    - SAX adapter
    - JUnit tests

  • as a maintenance resource for the existing XmlPull interface

常见错误一:XmlPullParserException:resource not found

网络中有很多人问到同样一个问题:

为什么我们在调用

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();

时,总是得到这样的错误:

错误提示:

Exception in thread "main" org.xmlpull.v1.XmlPullParserException: caused by: org.xmlpull.v1.XmlPullParserException: resource not found: /META-INF/services/org.xmlpull.v1.XmlPullParserFactory make sure that parser implementing XmlPull API is available

at org.xmlpull.v1.XmlPullParserFactory.newInstance(XmlPullParserFactory.java:294)

虽然从http://www.xmlpull.org/v1/doc/api/org/xmlpull/v1/XmlPullParserFactory.html

看到了他们自己的注解:

XmlPullParserFactory的注释:

If no name of parser factory was passed (or is null) it will try to find name by searching in CLASSPATH for META-INF/services/org.xmlpull.v1.XmlPullParserFactory resource that should contain a comma separated list of class names of factories or parsers to try (in order from left to the right). If none found, it will throw an exception.
NOTE:In J2SE or J2EE environments, you may want to use
newInstance(property, classLoaderCtx) where first argument is System.getProperty(XmlPullParserFactory.PROPERTY_NAME) and second is Thread.getContextClassLoader().getClass() .

看来它确实需要寻找这么一个资源:

META-INF/services/org.xmlpull.v1.XmlPullParserFactory

。但又没说如何才能找到它。

解决办法

http://kxml.sourceforge.net/

下载的kxml2.jar加到你的项目中即可。这时候再调用

XmlPullParserFactory factory = XmlPullParserFactory.newInstance(

System.getProperty(XmlPullParserFactory.PROPERTY_NAME),

Thread.currentThread().getContextClassLoader().getClass() );

就通过了。

kxml2.jar就包含了META-INF/services/org.xmlpull.v1.XmlPullParserFactory文件,它的内容其实就是一句话:

org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer

编写者

日期

关键词

郑昀@ultrapower

2005-9-28

Xmlpull kxml java




分享到:
评论

相关推荐

    XMLPullProject(XMLPull读取)

    4. **错误处理**: XMLPull解析还支持异常处理,如`XMLPullParserException`,当XML文档格式不正确或解析过程中发生错误时,会抛出此类异常。 5. **性能优化**: XMLPull解析通常比DOM解析更快,因为它不需要构建整个...

    用pullXML解析本地数据并存在本地

    在Android开发中,XML是一种常见的数据交换格式,用于存储和传输结构化数据。PullXML解析器是Android系统提供的一种轻量级的XML解析方法,它适用于处理大量的XML数据,特别是当内存有限或需要高效处理流式数据时。...

    android错误集锦

    在Android开发过程中,遇到错误是常见的情况,这些错误可能源于各种不同的原因,下面将详细解析这些Android错误及其解决方案。 1. 错误信息:“Failed to install Info.apk on device '?': Unable to open sync ...

    Android XmlResourceParser出错解决办法

    本文将详细介绍这种错误的常见原因以及如何解决。 错误`java.lang.NoSuchMethodError`通常表示在运行时找不到某个方法,这通常是由于类加载器找不到在编译时存在的方法导致的。在这种情况下,错误发生在`Android....

    httpurlconnection xml

    本示例中的代码着重于利用HTTPURLConnection处理XML数据,这在移动应用中尤其常见,比如从远程服务器获取配置信息或者同步用户数据。下面将详细介绍这个主题中的关键知识点。 1. **HTTPURLConnection的使用** - **...

    Android Stock实现数据发送

    在Android平台上,实现股票数据发送是一项常见的任务,尤其对于金融应用或者实时行情更新的应用来说更是必不可少。这个场景中,我们关注的是"Android Stock实现数据发送",这涉及到多个技术点,包括网络通信、数据...

    Android调用webservice

    在Android开发中,调用Web Service是常见的数据交互方式,特别是在需要从远程服务器获取或发送数据时。Web Service通常是以SOAP(Simple Object Access Protocol)或REST(Representational State Transfer)形式...

    Android开发问题集锦第一期[归纳].pdf

    在XML解析方面,Android支持DOM、XmlPull和SAX,数据交换格式上支持JSON。HTTP处理有轻量级的类和Apache库支持。音频处理基于OpenCore库,允许自定义编码和解码器。Android的文件系统与Java相似,但提供了`android....

    android 用webservice连接后台数据库

    - **错误处理**:添加异常捕获和处理机制,确保在网络不稳定或服务器出现问题时,应用仍能提供良好的用户体验。 - **异步请求**:为了防止因网络请求阻塞UI,可使用`AsyncTask`、`Handler`、`IntentService`或现代的...

    android访问web应用并返回xml字符串

    Android提供了`org.xmlpull.v1.XmlPullParser`库用于解析XML。首先,创建一个`XmlPullParser`实例,然后设置输入源,接着进入解析循环: ```java XmlPullParserFactory factory = XmlPullParserFactory.newInstance...

    Android应用源码之ReadXmlByPull-IT计算机-毕业设计.zip

    在Android应用开发中,解析XML数据是一项常见的任务,特别是在处理配置文件、网络数据交换或集成第三方服务时。本示例项目“ReadXmlByPull”是一个Android应用源码,旨在教授如何使用Pull解析器来解析XML数据,这...

    Android开发问题集锦第一期.pdf

    【Android开发问题集锦第一期】包含了多个关于Android开发中常见问题的解答,这些问题涵盖了图像处理、内存管理、Java特性的支持以及系统组件的使用等多个方面。以下是对这些问题的详细解释: 1. **Bitmap如何保存...

    通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)

    在Android Studio的项目中,`Android07`可能包含了实现上述功能的相关代码,包括网络请求的实现和XMLPull解析的逻辑。 总之,通过网络获取XML文件并使用Pull解析是Android开发中一种常见且高效的数据获取方式,尤其...

    android解析xml源码和ppt.zip

    在Android开发中,XML(Extensible Markup Language)是一种常见的数据交换格式,用于存储和传输结构化数据。XML解析是Android应用程序处理这些数据的关键步骤。本资料包“android解析xml源码和ppt”提供了关于...

    Android访问XML

    在Android开发中,XML(可扩展标记语言)是一种常见的数据交换格式,用于存储和传输结构化数据。XML文件因其灵活性和可读性而被广泛应用于配置文件、数据存储以及网络通信等方面。本篇将深入探讨如何在Android系统上...

    android访问webservices详细例子

    在Android开发中,访问Web Services是一项常见的任务,用于与服务器端进行数据交互。Web Services可以是基于SOAP(简单对象访问协议)或者RESTful(表述性状态转移)的API,它们提供了一种跨平台、跨语言的数据交换...

    手机号码归属地查询代码示例

    在IT行业中,手机号码归属地查询是一项常见的需求,特别是在移动应用开发中,如垃圾短信过滤、电话拦截等场景。本示例将详细介绍如何利用XML Web Service来实现这一功能,主要针对Android平台。首先,我们需要理解...

    老罗Android视频开发教程 android解析xml文件代码

    在Android应用开发中,XML(eXtensible Markup Language)是一种常见的数据格式,用于存储和传输数据。老罗的Android视频教程深入浅出地讲解了如何在Android平台上解析XML文件,这对于开发者来说是非常重要的技能。...

    Android应用源码之ReadXmlByPull.zip

    5. **Android中的Pull解析器**: Android提供了`org.xmlpull.v1.XmlPullParser`接口和`XmlPullParserFactory`类来实现Pull解析。`XmlPullParserFactory`用于创建`XmlPullParser`实例,而`XmlPullParser`则负责解析XML...

    Android交互WebService Demo

    在Android开发中,与Web Service进行交互是常见的需求,用于实现移动应用与远程服务器的数据交换。本Demo旨在演示如何在Android应用中调用Web Service,从而实现数据的获取和发送。我们将主要关注以下几个方面:XML...

Global site tag (gtag.js) - Google Analytics