問題タブ [datacontractserializer]

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 に答える
251 参照

ruby-on-rails - .NET DataContract シリアライザーに相当する Ruby はありますか

私は WCF の DataContract と DataContractSerializer を使用して、オブジェクトを XML ファイルに読み書きしています。Ruby on Rails版に切り替えたいのですが、何が使えるか知りたいです。次のような属性を持つオブジェクトがあります (これらは単なる例であり、正確なオブジェクトではありません)。

オブジェクトを読み込むコードは次のとおりです。

Ruby/Rails で同じことを行うための同等の形式は何ですか? オブジェクトを定義するにはどうすればよいですか? XML ファイルからそれらを読み込むにはどのような方法がありますか? すべてをモデルとして定義してから、各オブジェクトのバックエンド DB を作成できることがわかりました。このアプリケーションには db は必要なく、XML ファイルからオブジェクトの静的セットを読み取るだけなので、すべての db テーブルを作成せずにそれを行う方法はありますか。

0 投票する
2 に答える
158 参照

wcf - サービス参照を通じてどのプロパティをシリアル化するかを制御する

WCF サービスを指すサービス参照があります。これは、データ アクセス ロジックが処理されるモデル レイヤーへのプロキシとして機能します。内部では、データベース通信を容易にする ORM として Linq2Sql を使用しています。

生成されたクラスをデータ アクセス レイヤーとして使用しますが、返されるのは実際には POCO にすぎないダム DTO オブジェクトです。やりたいことは2つ)

1) カスタムタイプとそれに関連するプロパティに関して、サービス参照を通じてクライアントで利用できるものを制御します。これは、ダウンするクラスのサイズを縮小するためです。

2)Linq2Sqlが実際に生成されたすべてのクラスを装飾していることは知っていますが、これらのクラスがサービス参照を通過することを望んでいません。

現在、クラスを入力パラメーターの戻り値の型として使用すると、シリアル化されます。利用可能なプロパティを制限したい場合を除いて、これで問題ありません

考え?

0 投票する
2 に答える
1268 参照

wcf - [DataContract]で装飾されたオブジェクトをStateServerに入れますか?

DataContract属性で装飾されているが属性で装飾されていないオブジェクトをSerializableSqlServerStateServerに貼り付ける方法はありますか?つまり、これらのオブジェクトにSerializableは空のコンストラクターとプロパティの非公開セッターがないため、これらのオブジェクトすべてにIXmlSerizableを実装する必要があるため、これらのオブジェクトを属性で装飾する必要はありません。

0 投票する
2 に答える
11267 参照

c# - DataContractSerializer と Web サービスの応答タイプの逆シリアル化

私は Web サービスの呼び出しを使用しており、クライアントで WCF によって生成されたサービス参照を使用しています。テスト サービスから受信した XML 応答をディスクに保存しました (SOAP エンベロープとボディ タグなし)。それらをディスクから読み込み、そこからオブジェクトを作成したいと考えています。私のWebサービスから次のメソッドを取りましょう:

手動で (SOAP UI を使用して) ディスクへの応答をファイルに保存します。応答の例:

次に、次を使用してファイルからオブジェクトを逆シリアル化しようとします。

これは失敗します。シリアライザーは、名前空間 ' http://schemas.datacontract.org/2004/07 ' に要素が必要であるが、' http://myNamespace 'に要素が見つかったというエラーで不平を言います。

質問:DataContractSerializer SomeMethodResponseType で宣言されている名前空間を使用しないのはなぜXmlTypeAttribute(Namespace="http://myNamespace")ですか?

DataContractSerializer名前空間とルート要素をコンストラクターに明示的に指定することで、これを回避できます。しかし、次のようなメッセージで失敗します。

行 X の位置 Y (XML ドキュメントの最後の行) にエラーがあります。'EndElement' '
名前空間 'httpmyNapespace' からの SomeMethodResponse は予期されていません。要素 'someNameField' が必要です。

SomeNameWeb サービスが使用している XSD の要素です。SomeMethodResponseこれは、 というプライベート フィールドに裏打ちされた型のプロパティでもありますsomeNameFieldDataContractSerializerプロパティに加えてフィールドを逆シリアル化しようとしているようです。

ディスクから保存した XML をデシリアライズし、SomeMethod が返すのと同じ型のオブジェクトを取得するにはどうすればよいですか?

ありがとう、マトラ

0 投票する
2 に答える
11705 参照

wcf - WCF Datacontract、一部のフィールドは逆シリアル化されません

問題:

外部システムからの呼び出しのエンドポイントとなるWCFサービスをセットアップしています。呼び出しはプレーンxmlを送信しています。RequestBuilderを使用してFiddlerからサービスに呼び出しを送信することにより、システムをテストしています。

問題は、2つのフィールドを除いて、すべてのフィールドが逆シリアル化されていることです。price_retailおよびprice_wholesale

私は何が欠けていますか?他のすべてのフィールドは問題なく逆シリアル化されます-サービスは応答します。これらのフィールドだけです。

XMLメッセージ:

サービス方法:

メッセージクラス:

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

c# - データコントラクトのシリアル化がすべての要素で機能しない

オブジェクトにシリアル化しようとしているXMLファイルがあります。一部の要素は無視されています。

私のXMLファイル:

私のクラス定義:

そして私のシリアル化の試み:

次の要素がシリアル化されます。

  • GUID
  • ValidKey

次の要素はシリアル化されていません。

  • URL
  • 現在の日付
  • 登録日
  • 有効期限

xmlファイルの文字列の日付を「blah」に置き換えても機能しません。何が得られますか?

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

c# - シリアル化されるプロパティの変更

私はすでにこれに対する答えを知っていると思いますが、それを明確に述べているものは何も見つからないため、私の質問です-トリックを見逃していないことを確認したい.

DataContractSerializer または XmlSerializer を使用して、pulic プロパティがシリアル化されるものを変更する方法はありますか? であるプロパティがあり、その値のテキスト表現ではなく、ネットワークを介してその値が送信されるように、Enumそれを としてシリアル化したいと考えています。int属性を使用してこれを行うことは可能ですか、それとも独自のシリアライザーを作成する必要がありますか?

ありがとう :)

0 投票する
2 に答える
2649 参照

c# - DataContractSerializer はどのようにプライベート フィールドに書き込みますか?

リフレクションを使用して XMLSerializer がどのように機能し、XML のシリアル化または逆シリアル化に使用する必要があるパブリック読み取り/書き込みフィールドまたはプロパティを把握するかを理解しています。ただし、XMLSerializer では、フィールドが public で読み取り/書き込み可能である必要があります。

ただし、DataContractSerializer は、クラス内の完全にプライベートなフィールドに対して読み取りまたは書き込みを行うことができます。したがって、DataContractSerializer にクラスへの追加のアクセス権を明示的に付与しなくても、これがどのように可能になるのか疑問に思っています。

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

wcf - WCFシリアル化-詳細情報

マイクロソフトの記事をいくつか読んだところ、WCFがDataContractSerializerシリアル化に使用することが説明されていましたが、DataContractSerializerがXmlSerializationよりも優先される理由は説明されていませんでした。追加情報を教えてもらえますか?