問題タブ [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.
xml - xsd タイプの JAXB (非) マーシャリング: xsd:base64Binary および xsd:hexBinary
JAXB はxsd:base64Binary
とxsd:hexBinary
タイプの両方を にマップしbyte[]
ます。
次のようなこれらの各タイプを表すスキーマ/DOM要素があるとします。
<foo>ABCD</foo>
xsd:hexBinary および
<foo>YTM0NZomIzI2OTsmIzM0NTueYQ==</foo>
xsd:base64Binary の場合、
JAXB 2.1 がそれをどのように処理するかは明らかではありません。
JAXB.unmarshal(new DOMSource(node), byte[].class)
ペイロードが好きではありません。
次のことも行いません。
JAXBContext ctx = JAXBContext.newInstance(byte[].class);
ctx.createUnmarshaller().unmarshal(node);
これらのタイプを処理する正しい方法は何ですか? 前もって感謝します。
ruby-on-rails - Rails.cache とダンプ不可能な (マーシャル) 構造: キャッシュする方法は? (flickraw-response の例では)
次のように memcached を使用して flickraw 応答を Rails.cache にキャッシュします (これは他のダンプ不可能な構造にも適用されます)。
明らかなエラーは
その問題について、その場合の新しいダンプ方法を構築することを提案している zilkey による良い投稿を読みました。
http://zilkey.com/2008/7/5/rails-cache-memcached-development-mode-and-offline-cache-invalidation
私の質問は次のとおりです。そのようなオブジェクトをキャッシュするための正しいアプローチは何でしょうか? 独自のダンプ メソッドを作成する必要がありますか? flickr.photos.getRecent.to_s を使用してオブジェクトをキャッシュに保存し、何らかの方法でそれをリロードすることはできませんか? 何か案は?
php - PHP 用の JAXB (PAXB?)
PHP用のJAXBのようなフレームワークはありますか?
JAXB として、オブジェクトから XML ファイルを作成するフレームワークが必要です。このフレームワークは、必要に応じてその構造 (子オブジェクト、リストなど) を考慮して、オブジェクトを XML にマップする方法を認識している必要があります。
また、リバース エンジニアリングを行う必要があります。つまり、(有効な) XML ファイルを元のオブジェクトに変換します。
つまり、フレームワークはオブジェクトをマーシャリングし、XML ファイルをアンマーシャリングできなければなりません。
JAXB の素晴らしさは知っていますが、現在取り組んでいるこのプロジェクトで Java を使用できないのは本当に残念です。
java - 「不明」な名前の JAXB マッピング要素
生成方法を制御できない XML があります。私が手作業で書いたクラスにアンマーシャリングして、そこからオブジェクトを作成したいと考えています。
その構造の 1 つのスニペットは次のようになります。
このような場合はどのように処理すればよいですか?もちろん、の要素数は可変です。
java - キャスターを使用してxmlからJavaオブジェクトへ
Castor を使用した非整列化プロセスでタグ<envelope>
とタグを無視するにはどうすればよいですか?<body>
XML の例:
キャスター マッピング ファイル:
テスト クラス:
java - JAXB: クラス A を拡張するクラス B をデシリアライズする際の問題
次の例を検討してください。
ClassAとそれを拡張したClassBがあります。私の問題は、xml ファイルからClassBをアンマーシャリングする必要があることです。ClassAは私の管理下にないため、変更できないことに注意してください。
この例では、いくつかの問題が指摘されています。
主な問題は、ClassAには、アダプターなしで JAXB に必要なデフォルトの引数なしコンストラクターがないことです。したがって、 ClassBをJAXB で問題なく処理できる単純なクラスValBにマップするMyAdapterを実装しました。
主な問題は、JAXB にこのアダプターを使用させる方法ですか? クラスレベルで@XmlJavaTypeAdapterを定義すること も、アダプターをアンマーシャラーに登録することもありません。
アンマーシャラーがClassAのインスタンスであるオブジェクトを返すように、JAXB にMyAdapterを使用させる方法を知っている人はいますか?
ところで: コードをあまり深刻に考えないでください。これは、問題を示す単なる例です。ClassAとClassBの定義があまり役に立たないことはわかっています。
jaxb - JAXB 2 アノテーションとサブクラスの頭痛の種
私は現在、JAXB の厄介な問題で立ち往生しています。したがって、次のクラス構造が整っています。
そして今、私の他の JAXB アノテーション付きクラスで、これを行いたいと思います:
その理由は、実際の戻り値の型が MySubClass または MySubClass2 になるように、実行時に var を設定したいからです。XML へのマーシャリングは問題ありませんが、Java クラスへのアンマーシャリングで null 値が返されました。setter メソッドが呼び出されませんでした。どうすれば正しく非整列化し、クラス階層を維持できますか?
助けていただければ幸いです...
ありがとう、
xml - 構成なしの JAXB マーシャリング/アンマーシャリング
JAXB を介して Java ValueObject クラスをマーシャリング/アンマーシャリングしようとしています。
そのためには、ant によって自動作成される XML スキーマ ファイルと ObjectFactory クラスが必要であることがわかりました。
だとすれば、XML SchemaファイルとObjectFactoryは自動で作成できるので、マーシャリング/アンマーシャリングは不要のようです。
しかし、私が調査した限り、どういうわけかJAXBはその方法を提供していません。
それを行う方法を知っていますか?
xsd - JAXB の Schema-to-Java Mapping で XML Schema Type の "xsd:date" が "javax.xml.datatype.XMLGregorianCalendar" にマップされるのはなぜですか?
JAXB のスキーマから Java へのマッピングが行われるときに、XML スキーマ タイプの「xsd:date」が「javax.xml.datatype.XMLGregorianCalendar」にマッピングされる理由がわかりません。
XML Schema Type の "xsd:date" が "java.util.Date" にマップされるのはなぜですか?
JAXBは意図的にマッピングを行っていると思います。その理由があれば知りたいです。
また、存在する場合、XML Schema Typeの「xsd:date」をアノテーションを使わずにJavaクラスの「java.util.Date」に変更する方法(例:@XmlJavaTypeAdapter)。
すべての注釈なしでマシャリングとアンマーシャリングを行いたいです。
xml - JAXB Webサービス:複数オブジェクトのマーシャリング
1つのオブジェクトを問題なくマーシャリングおよびアンマーシャリングできます(NetBeansの場合)。複数のオブジェクトでこれを行う方法を知る必要がありますか?3つのオブジェクトをXMLから配列にアンマーシャリングしようとすると、nullポインター例外以外は生成できません。ですから、3つを正しくマーシャリングしたかどうかさえわかりません。オブジェクトを宣言してからjaxbuまたはjaxbmコマンドを使用するという基本的な考え方は知っていますが、これが複数のオブジェクトで機能することを望んでいます。
** TLDR:単一クラスの複数のオブジェクトをXMLにマーシャリング/アンマーシャリングするにはどうすればよいですか?ありがとう
XMLから1つのオブジェクトをマーシャリングするコード:
} catch(JAXBException e){System.out.println( "Error" + e);}
わかりました。Xmlは次のとおりです。
これは、ここにある私のマーシャルコードによって生成されました:
XSDファイル: