XmlSerializer を使用して、Web サービスから取得したものを適切に逆シリアル化しようとしています。
これが私のクラス宣言です:
[Serializable]
public class CarrierLookupResponse
{
[XmlElement(ElementName = "ResponseDO")]
public ResponseDo ResponseDo { get; set; }
}
XML は次のようになります。
<?xml version="1.0" encoding="utf-8" ?>
<CarrierService.CarrierLookup>
<ResponseDO>
<status>APPROVED</status>
<action>OK</action>
<code>SFW00389</code>
<displayMsg></displayMsg>
<techMsg></techMsg>
</ResponseDO>
デシリアライズに使用するコードは次のとおりです。
var serializer = new XmlSerializer(typeof(CarrierLookupResponse));
var carrierLookupResponse = serializer.Deserialize(new StringReader(response.Key)) as CarrierLookupResponse;
問題は簡単です。サービスは「CarrierService.CarrierLookup」を返し、強制的に「CarrierLookupResponse」に逆シリアル化する必要があります
クラス自体に XmlElement 属性を設定できないため、この名前を適切にマップする方法がわかりません。