問題タブ [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.
.net - XmlSerializer は、空の文字列を持つ属性をゼロに逆シリアル化します
XmlSerializer を使用し、空の文字列値を持つ属性を int のゼロにデシリアライズしたいと思います。空の文字列を持つ属性の逆シリアル化に関して私が見たすべての質問には、null 許容 int を null に設定することが含まれますが、null 非許容 int を null ではなくゼロに設定したいと考えています。
IXmlSerializable を実装せず、すべて自分で処理するだけでこれを行う簡単な方法はありますか?
c# - XmlSerializer を使用して、属性と値を持ち、サブ要素を持たない要素を作成する
うまくいけば、これはそこにいる誰か(そしておそらくだまされた人)にとって簡単な答えになるはずですが、私はそれを理解できないようです.
次のような要素を出力する必要があります。
私はこれを取得する方法を知っています:
を含む Quantity クラスで
しかし、もちろん、数量を挿入する変数は、それ自体のサブ要素になります。
一方、数量を親要素の変数にすると、値を設定して取得できます
しかし、属性を取得する方法がわかりません。
XmlSerializer でこれを行う簡単な方法がなかったら非常に驚くでしょうが、まだわかりません。何か案は?
c# - XmlArrayAttributeとXmlArrayItemAttributeの違いは何ですか?
XmlArrayAttributeとXmlArrayItemAttributeの違いは何ですか?両方の側面(つまり、シリアル化と逆シリアル化)について説明してください。
c# - パフォーマンス: BinaryFormatter と XmlSerializer の比較
BinaryFormatter のパフォーマンスが XmlSerializer よりも優れていることをよく読みます。好奇心から、テストアプリを書きました。
すごい瞬間...なぜXmlはBinよりもはるかに高速なのですか(特に逆シリアル化)?
私の結果:
visual-studio-2010 - VS.NET 2010/MSBUILD は .NET 3.5 SP1 用の XmlSerializers を生成できますか?
WinForms、汎用ライブラリ、Web アプリを含む VS 2008 ソリューションを VS 2010 にアップグレードしましたが、すべてのプロジェクトは依然として .NET 3.5 SP 1 をターゲットにしています。この手法を使用して、汎用ライブラリの XmlSerializers を生成しています。WinForms アプリは問題なく動作します。同じ XmlSerializers を参照するこれらのライブラリを使用して Web アプリを実行しようとすると、次のメッセージがスローされます。
「/WebSubscribers」アプリケーションでサーバー エラーが発生しました。ファイルまたはアセンブリ 'Ceoimage.Basecamp.XmlSerializers' またはその依存関係の 1 つを読み込めませんでした。このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによってビルドされているため、読み込むことができません。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.BadImageFormatException: ファイルまたはアセンブリ 'Ceoimage.Basecamp.XmlSerializers' またはその依存関係の 1 つを読み込めませんでした。このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによってビルドされているため、読み込むことができません。
.NET Reflectorを使用して XmlSerializer の参照を調べたところ、の 2.0 と 4.0 の両方のバージョンとmscorlib
の 3.5 と 4.0 のバージョンを参照していることがわかりますSystem.Data.Linq
。奇妙なことに、それは の 4.0 バージョンしか使用していませんSystem.Xml
。それはおそらく私の問題です。
これらの XmlSerializers を使用して Web アプリを実行するにはどうすればよいですか? これらの XmlSerializers を削除するだけで、Web アプリは正常に動作します。これはオプションですが、特定のバージョンの CLR 用のシリアライザーを作成するように MSBUILD に強制するにはどうすればよいですか?
XmlSerializers の作成を強制するプロジェクト ファイルに追加する MSBuild タスクを次に示します。
c# - XmlSerializerを使用して非標準要素を作成する
別のプログラムにインポートするためのXML出力ファイルを作成しようとしています。提供されたXMLファイルの例は次のようになります。
この部分を除いて、XmlSerializerを使用してこのタイプのファイルを出力できるC#プロジェクトがあります。
LineItemListセクションは単なるLineItemのリストですが、LineItemListの先頭には、この異なる要素OrderLineCommentが追加されています。
これをLineItemsの配列として表すと、OrderLineCommentがないことを除いて、同じように見えます。これを、OrderLineCommentとLineItemsの配列を含む新しいオブジェクトLineItemListとして表すと、次のようになります。
すべてのLineItemをタグでラップすることを除いて、これは私が望むものを持っていますが<LineItems>
、これも私が望むものではありません。
だから私が疑問に思っているのは:
- XmlSerializerを介してこれを行う方法はありますか?もしそうなら、どのように?
- ない場合、XmlSerializer以外のものを使用するようにコードを書き直す必要がある場合、これを行うための最良の方法とその理由は何ですか?
前もって感謝します。
wcf - WCF メソッドは、オブジェクト グラフの最大項目数が '65536' であるという例外をスローします
返されるオブジェクトが多すぎると、例外が発生します。
メッセージを逆シリアル化しようとしているときにフォーマッタが例外をスローしました: パラメータhttp://.../Contract:GetBlaBlaResultを逆シリアル化しようとしているときにエラーが発生しました。InnerException メッセージは、「オブジェクト グラフでシリアライズまたはデシリアライズできる項目の最大数は 65536 です」でした。オブジェクト グラフを変更するか、MaxItemsInObjectGraph クォータを増やしてください。'。詳細については、InnerException を参照してください。
私はそれを調べて、サーバー側の動作の下に追加しました:
そしてクライアント側では:
しかし、それは無視され、例外が発生し続けているようです。
問題は、XmlSerializer (要素の属性用) を使用することです。
ご覧のとおり、例外は dataContractSerializer を参照しています (上記で追加した構成も同様です)。
物事を台無しにするのは XmlSerializer ですか?
誰かアドバイスをお願いできますか?
どうもありがとう :)
xml-serialization - JSON.NET、XmlSerializerおよび「指定された」プロパティ
JSONとXMLを入力として受け取り、逆シリアル化されたコンテンツを使用して外部サービスへのSOAP呼び出しを行うRESTサービスがあります。デシリアライズに使用されるクラスは、SOAPサービスのwsdlから自動生成されます。XMLリクエストの場合はXmlSerializerを使用し、JSONにはNewtonJSON.NETJsonSerializerを使用したいと思います。
ここで、WSDLで生成されたクラスに、オプションのアトマー値(bool、intなど)の「Specified」プロパティが含まれているという問題があります。これは、XmlSerializer(解放されたXMLに応じてプロパティを設定する)によって処理されますが、NewtonJSON.NETSerializerによっては処理されません。呼び出し元にXXXSpecified要素をJSON文字列に追加するように強制したくありません。
「指定された」プロパティをJSON.NETシリアライザーで処理するにはどうすればよいですか?
c# - 辞書を XML シリアル化する方法
この方法で IEnumerable をシリアル化できました。
しかし、今ではコレクションを含む辞書が必要であることに気付きましたDictionary<string, RecordCollection>
(RecordCollection は IEnumerable を実装しています)。
どうすればそれを達成できますか?
c# - XMLルート要素から名前空間を削除するには?
XML ルート要素から名前空間を削除する簡単な方法はありますか。私は試してみました
シリアライズ可能なクラス。しかし、役に立たない。それでも同じ結果が得られます。
サンプルクラス
結果xml
XmlRootAttribute で namsespace を指定する意味がわからない??