問題タブ [xmladapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
175 参照

java - JAXB と、ハッシュ マップ内にマップされた基本型の XmlAdapter

XMLファイルとの間でデータを保存およびロードする必要があるJavaSE GUIアプリケーションを開発しています(ここで入手可能なソースコード:https://github.com/SP8EBC/MKS_JG

データ構造のどこかに、基本型を Short に結合する HashMap があります。実際には、この基本型は抽象クラスであるため、私のソフトウェアは子クラスのオブジェクトをキーとして追加します。これらの型をマーシャリングおよびアンマーシャリングするためにアダプターを開発しましたが、残念ながら、アノテーションで何を行っても、このアダプターは使用されないため、出力 XML ファイルは正しくありません。メソッド内にいくつかのブレークポイントを配置し、これらのブレークでより新しいストップをソフトウェアでデバッグします。

私の質問は次のとおりです。アダプタでこの HashMap を正しく処理するには、コード内で何をすべきですか?

基底クラスを持つ HashMap が存在するクラスは次のようになります。

この時点で、基本クラスの宣言は次のようになります

そして、子クラスの1つは次のようになります

ご覧のとおり、まったく異なる子オブジェクトを XML ファイルで標準化されたものに変換するアダプタを作成しました。アダプタは次のようになります。

EDIT(ソリューションが追加されました)

だから私はまったく別の方法で私が欲しいものを作りました. LugerCompetitor自体をマーシャリングおよびアンマーシャリングしようとする代わりに、HashMap全体のアダプターを作成しました。私の解決策は以下のとおりで、XML を生成しているときに機能するようです。反対方向はまだ開発する必要があります。