使用xerces进行Android架构验证

时间:2012-06-06 18:23:10

标签: android xml validation xerces

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

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

谢谢..

2 个答案:

答案 0 :(得分:2)

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

你必须做一个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");

答案 1 :(得分:0)

问题是android没有xerces并验证interface =) 但你可以简单地从xerce中添加验证:

你可以在adnroid中使用xerces和本机模式验证(在java中) - 你必须下载xerces源代码并且(在一些简单的操作之后)将它包含在你自己的代码中 - 你将能够使用DocumentBuilderFactory.setShema方法。 / p>

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