1

次のような XML 構造があります。

<page>
  <lang>
    <fr>La météo de la semaine</fr>
    <en>This week’s weather</en>
    <l code="de">Wetter Woche</l>
  </lang>
</page>

メッセージはさまざまな言語で複製されます。各代替案は、ISO-639 言語コードでラベル付けされた要素で囲まれています。便宜上、<da>, <de> の代わりに使用できます<l code="da">, <l code="de">。もちろん、言語ごとに lang クラスにフィールドを定義したくありません。出来ますか?注: EclipseLink JAXB (MOXy) などの jaxb 拡張機能は使用したくありませんが、アドバイスをいただければ幸いです。

4

1 に答える 1

2

私はあなたが何を求めているか知っていると信じています。この XML を、各言語と言語コンテンツが取り込まれた Java クラス オブジェクトに変換したいと考えています。ただし、言語ごとに 1 つずつ、100 万の異なるメンバー変数を持つことは望ましくありません。

私がお勧めするのは、言語のプレフィックスと各言語のコンテンツを組み合わせた Map オブジェクトです。マップに慣れていない場合は、 http://docs.oracle.com/javase/6/docs/api/java/util/Map.htmlを確認してください。

このアプローチを使用すると、使用している解析戦略を使用して、XML 内のタグとコンテンツのペアごとに新しいキーと値のペアを作成できます。

于 2012-06-13T14:23:13.663 に答える