我想在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?
答案 0 :(得分:8)
据我所知,Woodstox和Aalto都适用于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。