Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot serialize member 'XXX' of type System.Nullable`1[System.Decimal]. XmlAttribute/XmlText cannot be used to encode complex types [duplicate]

I'm getting the following error when using a web service: Cannot serialize member 'XXX' of type System.Nullable`1[System.Decimal]. XmlAttribute/XmlText cannot be used to encode complex types.

I understand the error and found a solution on this blog: https://web.archive.org/web/20120201220703/http://www.jamesewelch.com/2009/02/03/how-to-serialize-subsonic-objects-with-nullable-properties/

I would like to use solution 2, as you will see from my comments on the blog I'm not having much luck. I'm using an ExcuteTypeList to bring the data back.

Any pointers or help would be great.

Thanks

like image 561
Boomerang Avatar asked Oct 04 '11 11:10

Boomerang


1 Answers

You need to remove [XmlAttribute] and apply [XmlElement] to the XXX field.

[XmlElement(IsNullable = true)] public decimal? XXX;

public bool ShouldSerializeXXX()
{
   return XXX.HasValue;
}
like image 152
NET3 Avatar answered Sep 30 '22 05:09

NET3