私は、異なるサーバーの REST Web サービスを使用してサーバー間でリソースを交換する Java クライアント アプリケーションに取り組んでいます。ほとんどの場合、リソースはatom xml の形式です。ただし、より多くのシステムが検討されるようになると、状況が変わる可能性があります。
ただし、必要なのは、XML にオブジェクトとしてアクセスできる方法です。たとえば、アトムは を表しperson
、クライアント アプリケーションにはPerson
その xml に対応するクラスがあるとします。ここで、XML をそのオブジェクトに変換する方法が必要です。
複雑さ:
- XML には、多数の非アトム標準ノードが含まれます。
- リソースはネストできます。
person
原子が含まれる可能性があるようfriends
に- atom:content: person.friend を呼び出すと
friend
オブジェクトが返されます。 - アトム:フィード。person.friends を呼び出すと、友人の配列が返されます。
- atom:content: person.friend を呼び出すと
- 双方向変換が必要です。お気に入り
- XML => オブジェクト (今説明したもの)
- オブジェクト => XML。クライアント アプリは、システムに送信するオブジェクトを設定します。
私のこれまでの調査:
DOM ベースの xml ライブラリの使用:私のクラスには各属性の xpath を含めることができ、任意の DOM ベースの xml パーサーを使用して XML から値をフェッチし、オブジェクトにデータを入力できます。XOMで試してみました。
Jaxb:単純な XML にマーシャリングとアンマーシャリングを適用しましたが、堅牢性についてはわかりません。
アパッチ・アブデラ:最近、友人に出会いました。デフォルトで標準のアトム属性をサポートしているようです。しかし、atom 以外のタグの場合、どれだけの追加作業を行う必要があるでしょうか?
質問:
- 上記を達成するための好ましい方法は何ですか?
- どんなガイドラインでも、はるかに価値があります。