問題タブ [xstream]
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.
generics - XStreamにScalaリストをうまく出力させるにはどうすればよいですか?カスタムコンバーターを作成できますか?
このコード:
このXMLを生成します:
代わりに私はこれが欲しいです:
これは、汎用Javaコレクションがシリアル化される方法と似ています。これを行うための最良の方法は何ですか?
私は自分のコンバーターを実装することでほとんどの方法を手に入れましたが、アンマーシャルメソッドに固執しています。空のリストをインスタンス化する方法が明確ではありません...
xml - XStream を使用した自己終了タグ?
XStream に自己終了要素を生成させる方法はありますか?
例えば
それ以外の
java - xstreamを使用したJavaコレクションのシリアル化のカスタマイズ
次のフィールドを含むXMLとしてシリアル化する必要があるオブジェクトがあります。
XStreamは、次のように(いくつかのエイリアスの後で)問題なくシリアル化します。
限りは問題ありませんが、<string>
要素の名前をたとえばに変更できるようにしたいと思い<tag>
ます。XStreamサイトのエイリアスドキュメントから、それを行うための明白な方法を見つけることができません。明らかな何かが欠けていますか?
java - xstream > モデルで抽象化を行う際の下位互換性
私は持っている
obj1 の内容を失うことなく。
現在、obj1のコンテンツを失うことを除いて、古いxmlを読むのに問題はありません。これは何らかの形で xstream でサポートされていますか? つまり、モデルの変更では抽象化が一般的です。
java - XMLをシリアル化してJavaでストリーミングする最良の方法は?
XStream を使用して XML をシリアライズ/デシリアライズします...OutOfMemory
例外が発生しました。
まず、サーバーに 500MB が割り当てられているため、エラーが発生する理由がわかりません。
問題は、トラブルを回避するためにどのような変更を加える必要があるかということです。この実装の規模を確実にしたいと考えています。
現在、各オブジェクトが最大 50 バイト、最大 60K のオブジェクトがあります。60K POJO をメモリにロードし、それらを String にシリアライズして、 を使用して Web サービスに送信しますHttpClient
。受信時に文字列全体を取得し、POJO に変換します。XML/オブジェクト階層は次のようになります。
POJOをメモリに保存せず、内容を単一の文字列に書き込まないことが最善の方法だと思います。代わりに、個々<data>
の POJO をストリームに書き込む必要があります。XStreamはこれをサポートしていますが、この<meta>
要素はサポートされていないようです。データは次の形式である必要があります。
では、ツリー全体をストリーミングする最も簡単な方法は何ですか?
java - Xstream: すべてのフィールドを暗黙的に無視する
明示的に注釈が付けられたフィールドのみをシリアル化し、残りを無視するように Xstream に指示するにはどうすればよいですか?
休止状態の永続オブジェクトをシリアル化しようとしていますが、プロキシ関連のすべてのフィールドがシリアル化されますが、これは xml には必要ありません。
例えば
私のxmlに欲しいものではありません。
編集:この質問を明確にしたとは思いません。クラスは、基本クラスのプロパティを (休止状態の場合のように) コントロールできない基本クラスから継承する場合があります。
この場合、クラス B をシリアライズすると、基本クラスのフィールドShouldNotBeSerializedもシリアライズされます。これは私が望むものではありません。ほとんどの場合、私はクラス A を制御できません。
したがって、デフォルトですべてのフィールドを省略し、明示的にアノテーションを指定したフィールドのみをシリアライズしたいと考えています。省略する必要があるフィールドを明示的に指定する必要がある場合に、GaryFが行っていることを避けたいと考えています。
spring - 出力を調整するためのSpringのMarshallingView?
私が取り組んでいるこのRESTfulAPIの基礎となるPOJOがいくつかあります。ただし、APIをより完全にするために、他の情報を含める必要がある応答もあります。これらの追加情報をPOJOに入れたくはありませんが、あたかもそうであるかのようにWebサービスレイヤーに含めます。
それは「予定」を持っている「人々」を扱います。各予定には1人しかいません。
したがって、/ Patients / 1のようなRESTful呼び出しがあり、基本的にPersonのPOJOを取得し、現在XStreamを使用してシリアル化して送信しています。これはうまく機能しますが、私は次のようなことをしたいと思います。
次および前の予定が実際にPersonPOJOに含まれていない場合。私はこれを達成するための良い「春の方法」を探しています。クライアントはこの/Patients/ 1/PreviousAppointmentや/Patients/ 1 / NextAppointmentのようなことをすることができますが、私は呼び出しの量を減らし(おそらく事前最適化?)、必要に応じてより多くの情報を取得する方法を提供したいと考えています彼のhrefを使用してそれを。
XStreamMarshallerを使用すると、POJOまたはPOJOのリストのビューを処理するだけなので、非常にエレガントです。しかし、私はそれらが送られる前にそれらを少し医者にする必要があります。
ありがとう!
java - XStream:解析中にXML階層を折りたたむ
次のようなデータを含むXMLドキュメント(Adobe XFAフォームによって生成された)があります。
このファイルは他の場所で定義されているため、取得したXMLの形式を自由に変更することはできません。
私のJavaコードでは、タイトル、開始日、終了日を含むPositionクラスを作成します。
私の問題は、XStreamを使用してファイルを解析するときに、PositionBorderクラスがタイトルと日付を保持する必要があることです。基本的に境界線を無視して、すべてのフィールドをPositionクラスに配置します。
私が本当にやりたいのは、convertAnotherメソッドのようなものを使用してposition要素の子を変換することです。私はそれをやろうとしましたが、PositionConverterがPositionBorderに対して呼び出されるため(convertAnotherを呼び出すと)失敗します。
解析時にXMLの構造が崩壊することに対処する方法を知っている人はいますか?
dtd - xStreamのDTDからのデフォルト値
GevenXMLファイル
そしてxStreamコード
私のブラウザはそれを次のようにレンダリングします:
channelMandatory = "true"(ブラウザーがDTD命令を処理した)に注意してください
xStreamが生成する間
ここでchannelMandatory="false"(xStreamは "channelMandatory(true | false)" true "" DTD命令を無視しました)
何が恋しいですか?xStreamにDTD命令を処理するように「指示」する方法は?また、xStreamでDTD検証を有効にするにはどうすればよいですか?