7

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>

結果として、2台の車を含むリストが必要です。

また、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ベンチマークを参照)。これはAndroidでも機能するはずです(Jackson自体はAndroidではnr 1 JSONパーサーです)。

于 2011-05-28T17:39:30.730 に答える
4

したがって、「POJO を XML に、またはその逆にマッピング」したいのはSimple XML Libraryです。Android 1.5 以降のすべてのバージョンで使用できます。

あなたのプロジェクトの 1 つにそれを含める方法を説明するブログ投稿も書きました。

于 2011-04-21T04:50:44.947 に答える