我正在学习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());
}
}
问题是,当我编译时,我得到了这个错误:
线程“main”中的异常org.xmlpull.v1.XmlPullParserException:无法加载任何工厂类(即使是小型或完整的默认实现);嵌套异常是: org.kxml2.io.XmlReader 在org.xmlpull.v1.XmlPullParserFactory.newInstance(XmlPullParserFactory.java:225) 在org.xmlpull.v1.XmlPullParserFactory.newInstance(XmlPullParserFactory.java:76) 在Collections.main(Collections.java:12)
怎么来,请帮忙?
答案 0 :(得分:3)
首先,这不是编译器错误,因为它不会在编译时发生。这是一个运行时错误。
错误的原因是xmlpull只是一个api - 它需要一个适当的xml pull解析器实现。
正如他们的主页所说,
如何使用它?
XMLPULL API可以免费使用。您可以下载XmlPull API作为 tarball或zip文件。我们还提供对最新API的访问 版本通过匿名CVS。
但是要使用XMLPULL,您需要下载一个实现 XmlPull API。
有关可以下载的实现,请参阅http://www.xmlpull.org/impls.shtml#xmlpull。