2

我正在学习 xml 解析,我想使用来自 xmlpull.org 的 api。

我从http://www.xmlpull.org/v1/download/下载了“xmlpull_1_0_5.jar”文件并将其包含在我的参考库中。

然后编写了以下代码(在 Eclipse 中):

import java.io.IOException;
import java.io.StringReader;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

public class Collections {
    public static void main (String args[])
            throws XmlPullParserException, IOException
        {
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            factory.setNamespaceAware(true);
            XmlPullParser xpp = factory.newPullParser();
            System.out.println("parser implementation class is "+xpp.getClass());


        }

}

问题是当我编译时出现此错误:

线程“主”org.xmlpull.v1.XmlPullParserException 中的异常:无法加载任何工厂类(即使是小的或完整的默认实现);嵌套异常是:org.xmlpull.v1.XmlPullParserFactory.newInstance(XmlPullParserFactory.java:225) 的 org.kxml2.io.XmlReader org.xmlpull.v1.XmlPullParserFactory.newInstance(XmlPullParserFactory.java:76) 的 Collections.main( Collections.java:12)

怎么回事,求救?

4

1 回答 1

5

所以首先,这不是编译器错误,因为它不会在编译时发生。这是一个运行时错误。

错误的原因是 xmlpull 只是一个 api - 它需要适当的 xml pull 解析器实现。

正如他们的主页所说,

如何使用它?

XMLPULL API 是免费提供的。您可以将 XmlPull API 下载为 tarball 或 zip 文件。我们还通过匿名 CVS 提供对最新 API 版本的访问。

但是,要使用 XMLPULL,您需要下载 XmlPull API 的实现。

有关可以下载的实现,请参阅http://www.xmlpull.org/impls.shtml#xmlpull 。

于 2013-06-29T13:10:13.850 回答