問題タブ [unmarshalling]
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.
jaxb - JAXB の @XmlRootElement のアノテーションは、いずれにしても Java クラスを追加する必要がありますか?
JAXB の @XmlRootElement のアノテーションは、いずれにしても Java クラスを追加する必要がありますか?
Java クラスにアノテーションを追加したくありません。
解決策があれば教えてください。
java - Hudson-古いプラグインデータをクリーンアップします
フィールドとクラス名の点で少し変更されたHudsonプラグインをいくつか作成しました(主にコードをクリーンアップするためにファクタリングします)。一般的に言えば、すべてが正常に機能しますが、起動時に、Hudsonはビルドxml内の以前のプラグインデータを非整列化します。
私たちのほとんどがHudsonプラグインを実行したことを知っているように、hudsonはcamel-xstream(または同様のツール)を使用し、Hudsonはオブジェクトのクラス、状態、およびフィールドをbuild.xmlファイルにマーシャリングすることによってJavaオブジェクトを永続化します。オブジェクトが変更され、フィールド名が変更または削除された場合、「フィールドxが存在しないため、フィールドxが見つかりません」のような例外がスローされます。
私の質問は-プラグインの新しいバージョンをインストールしたときに古い情報が保持されず、これらの非マーシャリング例外がスローされないように、そのプラグインデータをクリーンアップする方法はありますか?
ありがとうございました
xml - Scala での XML のマーシャリング/アンマーシャリング
Scala と XML の間でデータをマーシャリング/アンマーシャリングするためのさまざまなアプローチを検討しており、コミュニティからのフィードバックを得ることに関心があります (直接の知識/経験に基づいていることが望ましい)。
現在は JAXB を使用していますが、これは問題ありませんが、純粋な Scala ソリューションを期待しています。私は次のアプローチを検討しています:
Scala のビルトイン XML 機能を使用します。Scala->XML は簡単ですが、それ以外の方向はかなり面倒だと思います。一方、このアプローチは任意の翻訳ロジックをサポートします。
データ バインディング: scalaxbは現時点ではやや未熟なようで、現在のスキーマを処理できません。また、Scala 用の他のデータ バインディング ライブラリを知りません。JAXB と同様に、関連する変換をサポートするには追加の変換レイヤーが必要です。
XML ピックラー コンビネーター: GData Scala クライアントライブラリは XML ピックラー コンビネーターを提供しますが、最近のプロジェクト活動は低調で、現在の状況はわかりません。
質問:
- 私がリストしたアプローチ/ライブラリに関するあなたの経験は何ですか?
- それぞれの相対的な長所と短所は何ですか?
- 他に考慮すべきアプローチや Scala ライブラリはありますか?
編集:
この質問に対する私自身の回答に、ピッカー コンビネーターの初期の印象に関するメモをいくつか追加しましたが、実際にさまざまなアプローチを深く知っている人からのフィードバックに非常に興味があります。私が望んでいるのは、開発者が自分のニーズに合った適切なアプローチを選択するのに役立つ、ある程度包括的な比較です。
actionscript-3 - xmlを介してDate(ActionScript 3)をjava.util.Dateに変換する方法は?
Date(ActionScript 3) を xml 経由で java.util.Date に変換したい。
まず、ユーザー定義の ActionScript クラスを次のように記述します。
次に、そのインスタンスを作成し、各値を設定します。これにより、スキーマ ファイルを持つ XMLEncoder を使用するために、ActionScript クラスを xml に変換します。
これが結果の xml であり、HTTPService を使用するためにこの xml をサーバーに送信します。
最後に、Java のサーバー側で、JAXB Unmarshaller を使用するために、この xml をこのような Java クラスに変換したいと考えています。
しかし、結果として、「UserDate」プロパティはnullになるだけです...
「UserDate」プロパティが null である理由 また、解決策があれば教えてください。
enums - 列挙型がスキーマと一致しません:jaxbまたはxsdに問題がありますか?
JAXBを使用してこのファイルをJavaオブジェクトにアンマーシャリングしようとしています。J6のSAXにmaxOccurs行を拒否する問題があることを知っているので、これをに変更しましたunbounded
。ただし、私がxjc
それを行うと、必要なすべてのクラスと列挙型が作成されるわけではありません。たとえば、educationLevelType
列挙型が必要です。さらに、MSのxsd unmarshallerを試しましたが、すべてが正しく作成されます。
私よりも経験豊富な人がこれを見て、私が欠けているものを教えてもらえますか?xsdで修正する必要があるものはありますか、それともJAXBにバグがありますか?
Update Blaiseは、尋ねられたとおりにこの質問に完全に答えました。残念ながら、私見では、これによりJAXBは無価値になります。全体的な考え方は、スキーマからクラスを生成できるということです。構造について事前に知っておく必要はありません。カスタムバインディングファイルを作成する必要がある場合は、必要なコードを生成するスキーマを作成することもできます。しかし、なぜそこで止まるのですか?これらの手順をすべてスキップして、必要なクラスを生成してみませんか?
結局、同僚が私にApache XMLBeansを指摘しました。プロジェクトは少し古いですが、問題なくオブジェクトを作成できます。Codehausには、そのためのxmlbeans-maven-pluginもあります。
c# - C#で長さが不明な文字列フィールドを持つ構造体をマーシャリングする方法
バイトの配列を取得しました。C#構造体にアンマーシャリングする必要があります。私は構造体のタイプを知っています、それはいくつかの文字列フィールドを持っています。バイト配列内の文字列は次のように表示されます。最初の2バイトは文字列の長さであり、次に文字列自体です。文字列の長さがわかりません。私はそのUnicodeを知っています!
バイト配列は次のようになります:00,00,01,00、00,00,08,00、4F、00,46,00,49,00,52,00、00,00,08,00、4F、00 、46,00,49,00,52,00、
私はまた、同じ問題が解決されていないこのリンクを見つけました: 構造体へのバイナリデータのロード
みんなありがとう、Ofir
jaxb - JAXB2アンマーシャリングxsd:anyTypeエラー
次のようなxsd:anyType(ur-type)オブジェクトを含むデータのマーシャリングを解除する際に問題が発生しました。
JAXB2は、上記の要素に対して次のJavaクラスを作成します。
マーシャリングは機能しますが、マーシャリングを解除すると、次の例外がスローされます。
使ってます;
ありがとう、
ヘンリー・キム
xstream - Xstream で「class」という名前の属性をアンマーシャリングする際の問題
という名前の属性を持つノードがありますclass
。入力 XML は次のとおりです。
Xstream アノテーションが付けられた XML を表す Java クラスは次のとおりです。
XML をデシリアライズしようとすると、xstream は問題とは関係のないエラーを返して失敗します。(たとえば、属性名「class」を「class」に置き換えると、正常に動作します。)
XStream が XML とフィールド宣言からどのタイプを使用するかを正確に判断できない場合はいつでも「class」属性が使用されることは知っていますが、この場合、XML 入力を変更することはできず、属性「class」を処理する必要があります。 .
Xstreamで「クラス」という名前のXML属性をアンマーシャリングするための回避策はありますか?
java - JAXB - 要素を無視
Jaxbの解析から要素を無視する方法はありますか? 大きな XML ファイルがあり、大きくて複雑な要素の 1 つを無視できれば、おそらくはるかに速く解析できるでしょう。
要素の内容をまったく検証できず、その要素が正しくない場合でもドキュメントの残りの部分を解析できればさらに良いでしょう。
例: これは Foo.element1 と Foo.element2 のみを生成する必要があります
java - JAXB: 空の文字列を 0 に非整列化しないように JAXB を作成する方法
次のようなフィールドを持つ DTO クラスがあります。
次のようなxmlを非整列化しようとしています
検証例外がスローされるように、nuber フィールドを null のままにする必要があります。代わりに、JAXB はそれを 0 として非整列化します。正しく動作させるにはどうすればよいですか?