問題タブ [xmlserializer]

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

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

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

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

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

c# - XmlSerializer の出力で xsd と xsi を交換する

ここで、commentsString には次の要素が含まれています。

以下に示すように、xsi 属性と xsd 属性を交換して要素を取得する可能性はありますか

これにより、他の問題が発生しますか?

編集:なぜこれを行う必要があるのですか?

既存のアプリケーションを 1.1 から 3.0 に移行していますが、コードに if ループがあります。

IxComment のインデックスをチェックします。ここでシリアライザのo/pと条件はxsdとxsiの位置が異なります。だから私は必要に応じてo/pを提供するようにシリアライザーに指示できるかどうかを知りたいと思っています。

これは既存のアプリケーションだったので、ここで別の質問があります。シリアライザーの O/P はバージョンによって異なりますか?

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

c# - XmlSerializerの逆シリアル化の失敗

サードパーティサーバーからのwsdlがあります。svcutilを実行し、一連の

メソッド。各メソッドの応答/要求オブジェクトを説明する個別の100ページのPDFがあります

私の考えは、Webメソッドをラップし、XmlSerializerを使用して強く型付けされたオブジェクトを返すことでした。返されるxmlは次のようになります(soapヘッダーを削除しました):

シンプルに見えた。クラスを作成しました(ドキュメント/ワイヤーキャプチャから):

処理時間:

最後の行は、内部例外メッセージで爆発します:指定されたタイプは認識されませんでした:name ='ResponseExt' namespace =' http://www.thirdparty.com/lr/'、at<Response xmlns='' >。
シリアライザーを幸せにする方法と、この2つが正確に何を意味するのか理解できません

xsi:type = "ResponseExt" xmlns = "http://www.thirdparty.com/lr/

いつものように、アドバイスやポインタは大歓迎です


編集:以下の受け入れられた答え。

これを見つけるまで、私はまだ例外を取得していました。うまくいけば、誰かの時間を節約できるでしょう。私は後ろ向きに働き始めました。ワイヤー上でキャプチャされたxml。正しい属性で作成したクラスに逆シリアル化:魅力のように機能しました。Webサービスから再試行しました-例外。何らかの理由で、XmlSerializerはResponseExtを認識しません。

編集:根本的な問題のwsdlファイルが完全ではありませんでした。これに2日間を費やし、この(醜い)回避策を見つけた後、サードパーティベンダーはエラーなしで逆シリアル化するすべてのタイプの完全なWSDLを提供しました。

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

xslt - XSLT を使用したカスタム変換を使用した XmlSerializer

XSLT で定義されたカスタム変換を適用して、XmlSerializer を使用して XML ストリームを逆シリアル化する方法はありますか?

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

xmlserializer - 複数のクラスを持つ XmlSerializer

1 つのファイルで XmlSerializer を使用して複数のクラスをシリアル化する最良の方法は何ですか? 理想的には、ルート ノードを 1 つ持ち、XmlSerializer が 1 つの子ノードをこのルート ノードに、クラスごとに 1 つシリアル化することです。

それ以外の場合、私の他のアイデアは、これらのクラスを含むラッパーを作成してシリアル化することです。

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

c# - XmlSerializer混合コンテンツの逆シリアル化

次の混合コンテンツxmlを逆シリアル化するようにクラスを設定するにはどうすればよいですか?

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

c# - XmlSerializerでジェネリックを使用する

C#でXMLシリアル化を使用する場合、次のようなコードを使用します。

(および逆シリアル化のための同様のコード)。

それはキャストを必要とし、本当にいいものではありません。.NET Frameworkで直接、ジェネリックスをシリアル化で使用する方法はありますか?つまり、次のようなものを書くということです。

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

xml-serialization - シリアライズされたメンバーを属性としてシリアライズする方法はありますか?

シリアライズされたメンバーを属性としてシリアライズする方法はありますか:

このクラスが xml シリアル化されている場合よりも、次のように生成する必要があります。

つまり、Name プロパティを要素としてシリアル化するのではなく、xml 属性としてシリアル化する必要があるということです。

0 投票する
4 に答える
573 参照

c# - XmlSerializer 使用時の属性/要素名の自動縮小

XmlSerializer を使用して C# クラスをシリアル化する場合、クラスのプロパティを表す属性/要素は、ソース コードと同じ名前になります。

次のようにして、これをオーバーライドできることを知っています。

クラス用に生成された XML をできるだけコンパクトにしたいのですが、もちろん、反対側で自動的に逆シリアル化できるようにしたいと考えています。

これらの名前を手動で考えて短い文字列ですべてに注釈を付けることなく、可能な限り縮小する方法はありますか? 結果として得られる XML が人間が簡単に読めるようになることは問題ではありません。

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

c# - XmlSerializer の不明な属性 xsi:type

私は XML シリアライゼーションを学んでいて、問題に遭遇しました。私は 2 つのクラスを持っています。

SubClass オブジェクトを XML ファイルにシリアル化しようとしています。ブロー コードを使用します。

シリアル化が成功していることに気付きましたが、XML ファイルは次のようなものです

私が使用する場合

XML に埋め込まれたすべての情報が正常に解析され、SubClassObject のメンバーが正しく復元されたにもかかわらず、xsi:type is unknown attribute (イベントを登録しました) と不平を言うことに気付きました。

xsi:type の解析でエラーが発生する理由と、私が間違ったことをした理由は誰にもわかりますか?

ありがとう