問題タブ [jibx]
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.
java - Jibx: 基本クラスの出力を拡張クラスの出力に統合する
私はこのクラスモデルを持っています:
そして、この XML を出力するように jibx を取得したいと思います。
私はこのバインディングxmlを持っています:
ただし、次のようなアーティファクトを取得し続けます。
一時的な解決策として、継承構造を AbstractB に変更し、B が AbstractB を拡張し、C が AbstractB を拡張するようにしましたが、jibx のためにクラスを再設計しなければならないのは本当に面倒です。
誰でもこれを解決する方法を知っていますか?
編集: おまけの質問として - java.util.Map を Jibx でコード/デコードするにはどうすればよいですか? ネイティブに実行できないことはわかっていますが (反証されてうれしいです!)、Map (文字列なし) をコーディングするにはどうすればよいでしょうか。私たちはjibx-extras.jarを使用していないので、ソリューションはこれに依存すべきではないことに注意してください。
java - Android 上の JiBX (またはその他のビルド時のバイトコード操作ライブラリ)
JiBXBlackberry と RIM の両方で実行する必要があるプロジェクトでの使用を検討しています。(JiBX ジラ チケットによると) の使用がコミュニティによって検討されているようですが、Android は比較的新しいものJ2MEです。JiBX
したがって、問題は次のとおりです。Android で JiBX を使用したり、ビルド時にクラスのバイトコードを変更する必要がある他のライブラリを使用したりして、成功した (または問題が発生した) 人はいますか?
そのようなライブラリを (ランタイム バイトコード インストルメンテーションを使用するものと比較して) Android で実行可能にする方法については議論がありましたが、実際にこれを実行しようとしている人々についての報告はあまり多くありません。
java - JiBX:コードでインターフェイスを使い続けるにはどうすればよいですか?
JiBXバインディングを使用したいクラスでインターフェイスを使用し続けるにはどうすればよいですか?
例:Javaでこの非常に単純なモデルがあります:
そして、この拘束力のある文書:
コードを実行しようとすると、次の例外が発生します。
java.lang.ClassFormatError:クラスcom / test / Bのメソッドに不正な修飾子があります:0x1001
両方のマッピングで'abstract= "true"'を使用しようとしましたが、次の例外が発生しました。
...原因:org.jibx.runtime.JiBXException:クラスcom.test.Aのバインディング情報にアクセスできません。バインディングがコンパイルされていることを確認してください...
私が見つけた唯一の解決策は、AImplにBではなくBImplを保持させ、ゲッターにBImplを返し、セッターにBImplを受信させることです。これは、インターフェイスを完全に破壊するため、非常に間違っています。
どうすればこれを解決できますか?私は髪の毛を抜いて、タントラムを持っています(実際の問題ははるかに複雑で、JiBXの不可解なエラーメッセージは役に立ちません)-何も役に立ちません。
これは解決可能ですか?JiBXは本当にそれほど煩わしいですか(すべてのインターフェイスプログラミングを放棄する必要があるという点で?)
同じ問題であり、1つのレベルのみが削除されているため、「AbstractBを使用」とは答えないでください。
jibx - Jibx は常に「検証中のエラー: null」を返します
私はこの信じられないほど単純なマッピングに本当に困惑しています。例の1つのように見えます。内部構造をコメントアウトすると、バインディング コンパイラが正常に実行されます。内部構造を元に戻すと、失敗します。内部構造は XML を定義しているだけであることに注意してください。これは基本的に、JIBX チュートリアルの例の example5 です。
次に、jibx コンパイルで次のエラーが発生します。
エラー: 検証中のエラー: null; マッピング要素 (jibx-binding.xml の行 2、列 97)
私は完全に困惑しており、アイデアがありません。Google は役に立たないことを示しています。
jibx - getter のみの JiBX バインド値
ブール値を返す複雑なメソッドを持つクラスがあります(このフィールドのプロパティフィールドまたはセッターは提供されていません)。メソッドの結果が XML 要素/属性にマーシャリングされ、アンマーシャリング時に省略されるように、このクラスを JiBX にバインドする必要があります。だから私はこのようなものを取得したい:
PSこのクラスを修正してスタブセッターを追加することはできません。そのまま使用する必要があります。
java - JiBX バインディング - ルート オブジェクトがオブジェクトを拡張する
ルートオブジェクトをスーパーフィールドにバインドすることさえ可能ですか?
バインドする非常に複雑なエンティティ (エンティティ) があります。私はすでにそれで迷っています:)
これは私のコードの状況です:
UserWrapper は私のルート オブジェクトです。応答 xml を次のようにしたいと思います。
または<users page="1" perPage="2">、ユーザータグだけでも...
これは可能ですか (JiBX の初心者が処理できますか)?
java - JiBXException: クラスに複数のバインディングが定義されています
奇妙なこと...
バインディング定義 user-wrapper.xml があります。
次に、このバインド定義 user-composite-entity.xml (上のファイルに含まれています) があります。
ここで、バインド user-wrapper.xml を使用する REST を呼び出すと、マッピングが正常に行われます。バインド user-composite-entity.xml を使用する REST を呼び出すと、次のエラーが発生します。
さて、奇妙なこと(私にとって)。user-wrapper.xml から削除すると<include path="user-composite-entity.xml" />、次のようになります: - user-composite-entity.xml での呼び出しは成功です。
java - 単純なJavaXmlからPOJOへのマッピング/バインディング?
xmlファイルをプレーンオールドJavaオブジェクトにマップする最も簡単な方法を見つけようとしています。
注:私の例では、xmlが意図したPOJOと完全に一致していません。
JAXM要素名の注釈ではネストされた要素を指定できないため、通常のJAXB(注釈付き)は機能しません。(つまり、standardName / Name)。
私はJibxを見てきましたが、それは非常に複雑に見え、私がやりたいことの完全な例は提供されていません。
Castroは(マッピングファイルを使用して)私が望むことを実行できるようですが、他に可能な解決策があるかどうか疑問に思います。(おそらく、マッピングファイルをスキップして、注釈ですべてを指定できるようになります)。
ありがとう
java - XMLマーシャリング/アンマーシャリング用のJavaでは、JAXB、JIBX、CASTOR、ADB etxのどのユーティリティを使用する必要がありますか?
XMLマーシャリング/アンマーシャリング用のJavaでは、JAXB、JIBX、CASTOR、ADBなどを使用できます。しかし、これらのうち、最も一般的で一般的に使用されているのはどれですか? または、利用可能な他のユーティリティはありますか?
java - JiBXのアンマーシャリング-要素の順序を無視するようにJiBXに指示することは可能ですか?
これを回避する方法はありますか?
たとえば、私のXML:
アンマーシャリングの場合、エラーは発生しませんが、順序を変更すると、次のようになります。
失敗しますorg.jibx.runtime.JiBXException: Expected "group" end tag, found "idExt" start tag (line 4, col 2)。
私のアンマーシャリング(Struts2 ContentTypeHandlerインターフェースの実装):
そしてバインディング:
では、JiBXがタグの順序を無視することは可能ですか?