問題タブ [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 に答える
2186 参照

java - JAXB を使用して xml 文字列を非整列化しますが、空の文字列を取得します

問題が解決しました

XmlElementRef アノテーションを @XmlElementRef(name = "Option", type = Option.class, required = false) に変更した後、@XmlRootElement(name = "Option") を Option.class に追加します。


アップデート:

laune の推奨として 2 つのクラス (Options と Option) を追加し、GuiMOProperties クラスを次のように変更しました。

ただし、以下のように JAXBContext のインスタンスを新規作成する必要がある場合、例外が発生します。


JAXB 解析用に以下のように定義されたクラスがあります。

そして、以下のように解析する必要がある xml 文字列:

私の OptionsAdapter.class の非整列化メソッドでは、最初の 1 つの Options 要素が正常に機能し、文字列「testOptions」入力があります。ただし、2 番目の Options 要素はそうではありませんでした。入力パラメータは \n\t\t\t\t になりますが、文字列ではありません<Option name="1" value="1"></Option><Option name="2" value="2"></Option><Option name="3" value="3"></Option><Option name="4" value="4"></Option>

以下の OptionsAdapter.class

どんな助けでも大歓迎です。

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

java - 同期されたマップを非整列化します

オブジェクトをxmlファイルに保存するためにJAXBを使用しています。

synchronizedMap(...)ラッパーを使用していることに注意してください。

上記の結果は、次の xml になります。

実際、これを機能させるには が必要だと思いXmlAdapterました。しかし、驚いたことに、このマーシャリングとアンマーシャリングは問題なく実行されます。テストにより、オブジェクトjava.util.Collections$SynchronizedMapを含む を正しく使用することが明らかになりました。LinkedHashMap$Entry

だから、私が正しく理解していれば。JAXB のアンマーシャラーは、コンストラクターを使用してオブジェクトをインスタンス化するだけです。オブジェクトのインスタンス化後にマップのインスタンスが既に存在するため、マップ自体はインスタンス化されません。それはputAll私が仮定する?

何が起こっているのかをより深く理解しようとしているだけです。誰かがこれについての背景情報を教えてくれるとうれしいです. 私の仮定は正しいですか?

私が正しければ、次の実装は失敗したと思います。

0 投票する
0 に答える
95 参照

java - 動的に作成された @XmlJavaTypeAdapter アノテーションを使用したマーシャリング中に XML アダプターが呼び出されない

私は単純な XMLAdapter を持っています:

次のコードの背後にあるアイデアは次のとおりです。私の RuntimeAnnotationReader 実装では、実行時に @XmlJavaTypeAdapter アノテーションを作成し、それを @XmlDetectCDATA アノテーションに加えて返します。

問題: マーシャリング中に CDataXMLAdapter アダプターが呼び出されません。何か案は?ありがとう

0 投票する
0 に答える
46 参照

xml - JAXB を使用した Jersey RESTful API の XML 出力でデフォルト値の要素を除外する

オブジェクトを XML にシリアル化するために JAXB を使用しています。応答でデフォルト値を持つ要素を除外したいと考えています。オブジェクトを JSON にシリアル化する際に、ObjectMapper 構成でJsonSerialize.Inclusion.NON_DEFAULTを使用してデフォルト値を除外しました。

XML応答にも同じ動作が必要です。これどうやってするの?

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

java - XmlJavaTypeAdapter アノテーションのプロデューサー/プロバイダー/プロセッサーの実装はどこにありますか?

XmlJavaTypeAdapter アノテーションのプロデューサー/プロバイダー/プロセッサーの実装はどこにありますか?

これには何らかの実装が必要です。

それは文字列をクラスに変換します