2016-08-29 6 views
0

私はサードパーティのSOAP Webサービスを使用しています。私はXSD.exeツールを使ってオブジェクトを生成しました。問題は、私がシリアル化しているXmlElementを送る必要があるということです。彼らのサービスは、すべてのbooleanの値が真と偽の代わりに1と0で表されることを期待しているため、エラーを投げています。 IXmlSerializable Interfaceまたはこの:C#のXmlElementでtrueとfalseを1と0に変換します。

は、私はこのようなカスタムのシリアライザを使用することができます知っているMaking the XmlSerializer output alternate values for simple typesが、彼らは私がXsd.exeツールによって生成されたコードを変更し、アップグレードがあったすべての時間を維持することは困難である伴います。

何か不足しているか、私が探しているものを達成する別の方法がありますか?

+0

'bool'プロパティをシリアル化してスキップして、' BoolProp?を返す計算されたパブリック 'int'プロパティを定義できませんか? 1:0'代わりに? – dasblinkenlight

+0

サンプルコードを添付してください。 –

+0

サービスには何百もの複合型があり、多くはboolを含んでいますので、財産ごとにプロパティで行う必要のないものを探しています。 – davy

答えて

0

オブジェクトにブール値を無視させる代わりに、別の変数を使用して表示することができます。例:

これにより、XMLパーサーは実際のプロパティを無視しますが、代わりに書式付き関数を使用します。

パターを解析する必要がない場合は、パターを削除できます。

関連する問題