1

我正在尝试使用 Xerces 针对 xsd 模式文件验证 xml 文件。我遇到了无法解决的错误,下面是 logcat 输出。请注意,在 java 应用程序中尝试相同的代码和 xercesImpl.jar 文件会产生准确的验证结果,但将相同的代码移动到 android 会导致错误。请指教。

E/AndroidRuntime(792): java.lang.NoClassDefFoundError: org.apache.xerces.parsers.SAXParser

谢谢..

4

2 回答 2

2

解决方案是使用移植到 Android 的 Apache Xerces。这里有一个项目

您必须执行 svn chekout 并将 proyect 导出到 jar 文件以用作您的 android proyect 中的库。

SchemaFactory 实例的代码稍作更改。我给你看一个例子:

import mf.javax.xml.validation.Schema;
import mf.javax.xml.validation.SchemaFactory;
import mf.javax.xml.validation.Validator;
import mf.org.apache.xerces.jaxp.validation.XMLSchemaFactory;

SchemaFactory  factory = new XMLSchemaFactory();
Schema esquema = factory.newSchema(".../file.xsd");
于 2013-01-28T20:01:03.203 回答
0

问题是android没有xerces和验证接口=)但是你可以简单地从xerce添加验证:

您可以在 adnroid 中使用 xerces 和本机模式验证(在 java 中) - 您必须下载 xerces 源并(经过一些简单的操作)将其包含到您自己的代码中 - 您将能够使用 DocumentBuilderFactory.setShema 方法。

https://stackoverflow.com/questions/13142567/xml-schema-validation-xmlsignature-with-xerces-in-android

于 2012-10-30T15:55:06.933 回答