0

次の繰り返しパターンがあります。いくつかのパラメーターを指定してブラック ボックスを呼び出し、結果として、List<Map<String, Object>>各 Map が同じキーセットを持つ (または同等のもの) を取得します。次に、フォームの XML を生成することが期待されます。

<list>
    <item key1='value1' ...>
        <keyX>valueX</keyX>
    </item>
</list>

リスト要素とアイテム要素の名前、および特定のキーがアイテムのサブ要素になるか属性になるかは、個々のタスクによって異なります。XML への Map キーの手動配線を最小限に抑えたいと思います。

私が最初に想像した方法は、マップ キーから要素/属性へのマッピングを記述する XML テンプレートを作成することでした。次に、それが XSD の目的であると考えたので、その形式を使用してテンプレートを定義できます。しかし、XSD から XML を生成するための適切な解決策が見つかりませんでした。私は JAXB を調べましたが、私のシナリオには重すぎるようです。Java クラスは必要ありません。次に、最初にデータをクラスにマップする必要がありますが、これは、マーシャラーでデータをダンプするだけでは効率が悪いように思えます。次に、柔軟性を維持したいと考えています。データ形式 (つまり、各マップのキーセット) が変更された場合、スキーマを変更するだけでよく、ソースを再生成して再構築する必要はありません。

読んでくれてありがとう:)

4

1 に答える 1

0

1年ほど前にこのようなことをしたことを覚えています。私がしたことは、XSLT を作成することでした。これは、いくつかのパラメーターを取り、それを JAXP で処理して XML を生成しました。

XSL を初めて使用する場合は、少し難しいかもしれませんが、優れたドキュメントがたくさんあります。:)

于 2012-03-08T11:49:18.470 に答える