XmlSerializer.Deserialize忽略不必要的元素

时间:2013-09-30 12:08:24

标签: c# windows-phone-7 xml-deserialization

我已经使用xsd.exe从我的XML响应生成.cs文件。

在我的XML响应中,很少有元素在app中不需要,我想省略它们,所以我从响应xml文件中删除它们并重新生成.cs文件。

我使用此.cs文件从我的xml服务器响应(具有那些不必要的元素)反序列化,这会导致System.InvalidOperationException。

请告诉我如何解析或反序列化服务器对只具有所需属性的类的响应。

我为Windows Phone应用程序做了准备。

谢谢, Kavit。

1 个答案:

答案 0 :(得分:1)

尝试使用XmlIgnoreAttribute属性修改不再需要的属性。

  

默认情况下,所有公共字段和公共读/写属性都是   由XmlSerializer序列化。也就是说,每个公众的价值   字段或属性作为XML元素或XML属性保留   一个XML文档实例。

     

要覆盖字段或属性的默认序列化,请创建   一个XmlAttributes对象,并将其XmlIgnore属性设置为true。加   XmlAttributeOverrides对象的对象并指定其类型   包含要忽略的字段或属性的对象,以及名称   要忽略的字段或属性。

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributes.xmlignore.aspx