C# 如何反序列化WCF服务中定义的类类型的客户端xml
我有一个简单的xml,它只有一个父节点。我想将这个xml去消毒为一个类类型,这个类是在wcf服务中定义的。该类是使用xsd.exe从xml生成的 目的是以类对象形式而不是xml向wcf服务发送信息 但是,当我在客户端使用该类时,所有属性名称都被更改,并附加了一些后缀。并且所有属性都设置为null 我的XML看起来像-C# 如何反序列化WCF服务中定义的类类型的客户端xml,c#,xml,wcf,C#,Xml,Wcf,我有一个简单的xml,它只有一个父节点。我想将这个xml去消毒为一个类类型,这个类是在wcf服务中定义的。该类是使用xsd.exe从xml生成的 目的是以类对象形式而不是xml向wcf服务发送信息 但是,当我在客户端使用该类时,所有属性名称都被更改,并附加了一些后缀。并且所有属性都设置为null 我的XML看起来像- <NafDetails xmlns="http://schemas.datacontract.org/2004/07/....Service.Contract">
<NafDetails xmlns="http://schemas.datacontract.org/2004/07/....Service.Contract">
<NafInfo_NafNumber></NafInfo_NafNumber>
<NafInfo_CFAcctNum></NafInfo_CFAcctNum>
<NafInfo_RepNum></NafInfo_RepNum>
<NafInfo_FASIRIA>0</NafInfo_FASIRIA>
<NafInfo_OutsideRIA>0</NafInfo_OutsideRIA>
</NafDetails>
我在WCF中定义的类类似于-
[Serializable, XmlRoot("NafDetails")]
[DebuggerStepThrough]
[XmlType(AnonymousType = true)]
public class NafDetails
{
[XmlElement("NafInfo_NafNumber")]
public string NafInfo_NafNumber { get; set; }
[XmlElement("NafInfo_CFAcctNum")]
public string NafInfo_CFAcctNum { get; set; }
[XmlElement("NafInfo_RepNum")]
public string NafInfo_RepNum { get; set; }
[XmlElement("NafInfo_FASIRIA")]
public bool NafInfo_FASIRIA { get; set; }
[XmlElement("NafInfo_OutsideRIA")]
public bool NafInfo_OutsideRIA { get; set; }
[XmlElement("NafInfo_DirectBusiness")]
public bool NafInfo_DirectBusiness { get; set; }
[XmlElement("NafInfo_CF_Pershing")]
public bool NafInfo_CF_Pershing { get; set; }
[XmlElement("NafInfo_CF_JPMorgan")]
public bool NafInfo_CF_JPMorgan { get; set; }
[XmlElement("NafInfo_DVP")]
public bool NafInfo_DVP { get; set; }
}
请引导我完成这件事。谢谢。你能试试下面这样的吗
string xml = "<NafDetails>"+
"<NafInfo_NafNumber>Test</NafInfo_NafNumber>"+
"<NafInfo_CFAcctNum>New</NafInfo_CFAcctNum>"+
"<NafInfo_RepNum>Demo</NafInfo_RepNum>"+
"<NafInfo_FASIRIA>0</NafInfo_FASIRIA>"+
"<NafInfo_OutsideRIA>0</NafInfo_OutsideRIA>"+
"</NafDetails>";
NafDetails nafdetail;
XmlSerializer serializer = new XmlSerializer(typeof(NafDetails));
nafdetail = (NafDetails) serializer.Deserialize(XmlReader.Create(new StringReader(xml)));
谢谢
DeepuNafDetails类来自wcf服务。它在客户端的代理与它在wcf中的实际实现不同。
string xml = "<NafDetails>"+
"<NafInfo_NafNumber>Test</NafInfo_NafNumber>"+
"<NafInfo_CFAcctNum>New</NafInfo_CFAcctNum>"+
"<NafInfo_RepNum>Demo</NafInfo_RepNum>"+
"<NafInfo_FASIRIA>0</NafInfo_FASIRIA>"+
"<NafInfo_OutsideRIA>0</NafInfo_OutsideRIA>"+
"</NafDetails>";
NafDetails nafdetail;
XmlSerializer serializer = new XmlSerializer(typeof(NafDetails));
nafdetail = (NafDetails) serializer.Deserialize(XmlReader.Create(new StringReader(xml)));