【发布时间】:2015-02-28 17:48:28
【问题描述】:
我已经使用 XmlSerializer 完成了这项工作,但想比较使用 DataContractSerializer 的性能。我知道我已经接近了,因为我至少得到了一些对象图,但没有任何数据。我试图反序列化的 XML 示例如下所示:
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header/>
<soap-env:Body>
<n0:OperationalDataProvisioningFetchDataDirectResponse xmlns:n0="http://sap.com/bw" xmlns:prx="proxy">
<BinaryObject>Binary Data Goes Here</BinaryObject>
<XMLFormatUsedCode>ABAP_XML</XMLFormatUsedCode>
</n0:OperationalDataProvisioningFetchDataDirectResponse>
</soap-env:Body>
</soap-env:Envelope>
我要反序列化的类如下所示:
[DataContract(Name = "Envelope", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public class Envelope
{
[DataMember(Name = "Header", Order = 0)]
public object Header;
[DataMember(Name = "Body", Order = 1)]
public EnvelopeBody Body;
}
[DataContract(Name = "Body")]
public class EnvelopeBody
{
[DataMember(Name = "OperationalDataProvisioningFetchDataDirectResponse", Order = 0)]
public FetchDataDirectResponse FetchDataDirectResponse;
}
[DataContract(Name = "OperationalDataProvisioningFetchDataDirectResponse", Namespace = "http://sap.com/bw")]
public class FetchDataDirectResponse
{
[DataMember(Name = "BinaryObject", Order = 0)]
public string BinaryObject;
[DataMember(Name = "XMLFormatUsedCode", Order = 1)]
public string XMLFormatUsedCode;
}
当我运行它并尝试反序列化这就是我得到的一切:
【问题讨论】:
标签: c# xml soap deserialization datacontractserializer