在Android中无法使用XMLGregorianCalendar,即使它已被记录?

fra*_*llo 5 w3c datetime android xml-deserialization

我真的无法理解这一点:看起来Android有XMLGregorianCalendar类,因为它在这里记录.但如果你继续尝试使用它,那就是你得到的:

10-27 17:21:43.677: E/AndroidRuntime(14850): Caused by: javax.xml.datatype.DatatypeConfigurationException: Provider org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl not found
10-27 17:21:43.677: E/AndroidRuntime(14850):    at javax.xml.datatype.DatatypeFactory.newInstance(DatatypeFactory.java:102)
Run Code Online (Sandbox Code Playgroud)

这发生在线上:

DatatypeFactory datatype = DatatypeFactory.newInstance();
Run Code Online (Sandbox Code Playgroud)

并且猜测一下,它应该不像这样,就像官方Android Javadoc上记录的那样.

这看起来像Android的一个不那么聪明的东西.你为什么要记录一些不能使用的东西?有没有人有这方面的解决方案,可能不包括重新包装?

Kry*_*lez 9

看起来即使它自v8以来一直在API中,但是没有任何版本的Android随附实现.好用,对吧?

一种解决方案是下载Xerces2 Java实现 jar并将其包含在项目的构建路径中.

您的代码只会略有不同:

DatatypeFactory datatype = DatatypeFactoryImpl.newInstance();
Run Code Online (Sandbox Code Playgroud)