7

我想在 android 1.6 及以上设备中使用 StAX API 实现。那里有任何实现吗?我不能直接使用 jar 文件,因为它给出了有关内部类的问题。如果它不可用,有什么办法可以重新编译实现吗?是否有另一种方法可以将 POJO 类映射到 XML,反之亦然,请排除 SAX 解析器和 DOM 解析器。

我认为 POJO 类可以使用 JAXB 映射到 XML 中,反之亦然。但情况是这样的。考虑这个例子,

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cars>
<car registration="abc123">
    <brand>BMW</brand>
    <description>Sedan</description>
</car>
<car registration="abc123">
    <brand>Ferrari</brand>
    <description>SportsCar</description>
</car>
</cars>

现在在结果中,我想要包含 2 辆汽车的 List。

此外,JAXB 解析器对 StAX 的影响如何?

4

2 回答 2

8

据我所知,WoodstoxAalto都应该在 Android 上运行。Aalto 是 Java 平台上唯一符合要求的最快的 XML 解析器,如果这很重要的话;Woodstox 支持最广泛的 XML 结构(从完整的 DTD 处理到 RelaxNG/XML 模式验证)。

对于将 POJO 绑定到 XML,您还可以考虑Jackson扩展jackson-xml-databind:虽然 Jackson 主要是 JSON 处理器,但扩展支持 XML 的 JAXB 样式数据绑定。并且比 JAXB 参考实现更快(参见 jvm-serializers benchmark)。这也应该适用于 Android(Jackson 本身是 Android 上的 nr 1 JSON 解析器)。

于 2011-05-28T17:39:30.730 回答
4

因此,您真正想要“将 POJO 映射到 XML 中,反之亦然”的是Simple XML Library。您可以在 1.5 以上的每个版本的 Android 中使用它。

我什至写了一篇博文,解释如何将它包含在您的一个项目中。

于 2011-04-21T04:50:44.947 回答