Android有任何StAX实现吗?

时间:2011-04-21 00:48:09

标签: android xml xml-parsing stax

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

我认为使用JAXB可以将POJO类映射到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>

现在结果我想要List中有2辆车。

JAXB解析器如何对抗StAX?

2 个答案:

答案 0 :(得分:8)

据我所知,WoodstoxAalto都适用于Android。如果重要的话,Aalto是Java平台上速度最快的XML解析器;和Woodstox支持最广泛的XML构造(从完整的DTD处理到RelaxNG / XML Schema验证)。

为了将POJO绑定到XML,您还可以考虑Jackson扩展jackson-xml-databind:虽然Jackson主要是JSON处理器,但扩展支持XML的JAXB样式数据绑定。它是否比JAXB参考实现更快(参见jvm-serializers基准测试)。 这也适用于Android(杰克逊本身是Android上的nr 1 JSON解析器)。

答案 1 :(得分:4)

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

我甚至写了blog post explaining how to include it in one of your projects