2

WebサービスのAPIからPOJOに返されるXMLをアンマーシャリングする方法としてJAXBを検討していますが、手動で記述/注釈を付けるのではなく、最初にPOJOを生成したいと考えています。xjc(JAXBのPOJOジェネレーター)に出くわしましたが、XSDが必要であり、WebサービスはXMLのみを返し、XSD / DTDが利用できないため、これを実行する最善の方法は何かと考えていました。

  • ストレートXMLからPOJOを生成する方法はありますか?すべてのフィールドが文字列フィールドであると想定して満足しています。型の安全性は必要ありません。
  • あるいは、XMLファイルからXSDを「リバースエンジニアリング」する方法があります-これらは何か良いですか?もしそうなら、この機能がxjcのようなツールに組み込まれていない特別な理由はありますか?
4

1 に答える 1

2

JAXBuilder Eclipseプラグインを試してみました。このプラグインを使用すると、Eclipseでプロジェクトを作成し、xsdファイルまたはxmlファイルをドロップすると、自動的にPOJOに解析されます。CastorまたはJAXB2のいずれかをジェネレーターとして使用するオプションがあり、いくつかの構成オプションがあります。

ただし、直接XML-> POJO変換は少し気まぐれであることがわかったので、代わりに無料のWebベースのhttp://www.freeformatter.com/xsd-generator.htmlを使用してxmlからxsdを生成することにしました。 、次にこれをコピーしてEclipse JAXBuilderプロジェクトに貼り付け、POJOを取得します。このアプローチは明らかにプログラム的に完全でもスケーラブルでもありませんが(XMLのビットをコピーして貼り付ける)、JAXBを少し試してみるのはかなり良いスタートのようです。

于 2012-11-12T18:04:45.960 に答える