問題タブ [xml-deserialization]

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 投票する
2 に答える
206 参照

c# - List でパラメーター System.Type T を使用する

関数があるとします:

GetAllItems(typeof(Article))記事のリストを取得するために、代わりに呼び出したいのですGetAllItems(typeof(List<Article>))が、それでもリストを返します。

質問:関数宣言/プロトタイプを変更せずList<>に、この関数を呼び出すときに不要な部分を要求しないようにするにはどうすればよいですか?

つまり、次のようなものを探しています。

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

c# - XML からの差分変更のみでオブジェクトを更新する

同じスキーマを持つ 2 つの xml ファイルからのデータが読み込まれた 2 つのデータセットがあります。ファイルには、昨日と今日のデータが含まれています。結果のデータセットに昨日のデータを上書きするすべての今日のデータが含まれるように、両方のデータセットをマージしたいと思います。

CATCH:今日のデータセットには毎日の変更 (DELTA) のみが含まれており、マージによって昨日から変更されていないすべてのレコードが削除されることはありません。

リフレクションを介してこれを達成することは可能ですか? そうする最も効率的な方法は何ですか?

どんなアイデアも役に立ちます..

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

php - XML を .Net クラスに解析する

次のような Web サービス呼び出しの仕様を受け取りました。

これはある種の標準的なシリアライズ形式ですか? (サービスはphpで書かれていると思います)

情報を .net クラスに抽出する方法はありますか?

編集:

より「通常の」xmlファイルを作成するxslt変換で解決しました

その結果、スキーマを作成し、xsd.exe で .net クラスを生成するのは簡単でした。

変換は次のようになります。

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

c# - C#Xml逆シリアル化の問題

私のプロジェクトでは、レガシーコードは次の構造を持つxmlを生成します:

このxmlを次のプロパティを持つオブジェクトに逆シリアル化したい(私はC#を使用しています):

メンバーの周りの次の属性を使用して、上記のxmlを逆シリアル化しようとしました(注:コードを簡略化しました。データメンバーを公開しないでください。このコードは実験目的です)

デシリアライズするために、メインクラスで私は書いた:

上記のコードを実行すると、fooBarオブジェクトのすべてのメンバーがnull(デフォルト値)に設定されます。これは、xml構造がクラス構造と一致しないためだと思います。

xsdコマンドを使用してクラスを自動的に生成しようとしましたが、データメンバーごとに個別のクラスが作成されました。

XmlElement( "Employer.Value")、XmlElement( "Template.Employer.Value")のような要素名を付けようとしましたが、これも機能しませんでした。

EmployerInfo誰かがこのxmlをクラスに適合させる方法を提案できますか?

前もって感謝します

0 投票する
5 に答える
29554 参照

c# - 列挙型の逆シリアル化

要素の1つに空白の属性があるxmlがあります。たとえば、

現在、言語はスキーマから作成されたクラスの列挙型です。言語が指定されている場合は正常に機能し、空白の場合は逆シリアル化に失敗します(例を参照)。

編集:逆シリアル化のコード:

このシナリオをどのように処理できますか

0 投票する
0 に答える
1139 参照

xml-deserialization - .netでmultirefを使用してsoap応答を逆シリアル化する方法は?

Java ws 用の .net wcf クライアントを作成しています。しかし、リクエストを作成すると、レスポンスにエラーが含まれ、 multiRefセクションも含まれます。だから私はこの例外を受け取ります:

サーバーが無効な SOAP エラーを返しました。名前空間 ' http://schemas.xmlsoap.org/soap/envelopeからの終了要素 'Body' が必要です。名前空間 '' から要素 'multiRef' が見つかりました

これは、サーバーからの応答がどのように見えるかです (ネットワークから直接取得):

そのメッセージを正しく逆シリアル化するように wcf クライアントを構成する方法はありますか? または、生の応答 xml を取得する可能性はありますか?

0 投票する
3 に答える
7229 参照

c# - XmlDocument.Load() メソッドが € (ユーロ) のデコードに失敗する

file.xmlIso-latin-15 (別名 Iso-Latin-9) でエンコードされた XML ドキュメントがあります。

私のお気に入りのテキスト エディターから、このファイルが Iso-Latin-15 (UTF-8 ではない) で正しくエンコードされていることがわかります。

私のソフトウェアは C# で書かれており、要素を抽出したいと考えていますf

実際には、資格情報を設定するための XMLResolver があります。しかし、基本的に、私のコードはそれと同じくらい単純です。読み込みはスムーズに進み、例外は発生していません。

さて、値を抽出するときの問題:

Visual Studio デバッガーは filename = を表示します。□.txt

Visual Studio のバグである可能性があります。残念ながらFile.Exists(filename)、ファイルは実際に存在しますが、false を返します。

どうしたの?

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

c# - c# デシリアライズする XML が正しくない

この XML があり、デシリアライズする必要がありますが、型が正しくありません。

どうすれば修正できますか?int と string を許可するのが好きです。

事前にt​​hx、

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

c# - OperationContract を使用して WCF メッセージを逆シリアル化する方法

WSDLからsvcutil.exeで生成したWCFクライアントの構築に成功しました。生成されたクライアント プロキシ クラスを使用して、外部サービス サプライヤーの Web サービスを呼び出すことができます。生の XML 要求と応答の両方を完全な SOAP メッセージとしてデータベースに記録する必要があるため、メッセージ インスペクターのコーディングにも成功しました。

緊急のシナリオでは、生の XML 応答を「インポート」できる必要もあります。XMLSerializerメッセージ コントラクトに基づく WCF メッセージの使用または逆シリアル化に関する多くのヒントを見つけました。

しかし、操作契約に基づいて生の XML 応答を逆シリアル化するにはどうすればよいでしょうか? 最初のテストでは、ログに記録された生の応答の 1 つを使用してファイルに保存し、クライアント プロキシで生成された応答タイプに逆シリアル化してみます。DeserializeReply()何とかclass からの呼び出しに成功しなければなりませんClientOperation。しかし、どうやってそこに着くのですか?

私はWCFを初めて使用するので、どんな助けも喜んで受け入れます... TIA、Stefan

これは、マークの答えの後に私が試したものです:

これは、ログに記録された XML 応答ファイルの一部であり、次のように逆シリアル化しようとしていますRatingResponse

データ コントラクト シリアライザーには、href の逆シリアル化に問題があると思います。「手動で」逆シリアル化しようとしているメッセージは、挿入されたメッセージ インスペクタを使用してキャプチャされたことに注意してください。Web サービスの「通常の」呼び出しでは、このメッセージは問題なく逆シリアル化されます。

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

c# - ASP.NET MVC 2:SPROC応答の逆シリアル化

一般的な質問をする必要があります。iPhoneで書いているので、目の前にコードがありません。

特定のXMLスキーマを表すクラスがあります。このXMLを返すSPROCがあります。私がする必要があるのは、XMLをこのクラスに逆シリアル化することです。

XML:

このXMLをカスタムPersonクラスに逆シリアル化して、このモデルをループしてビューに吐き出すことができるようにする必要があります。ある種のキャスティングが関係していると確信しています、私はそれを行う方法がわかりません。