Can't understand what I am doing wrong, the result set is empty.
My code:
class Class1
{
public static object DeSerialize()
{
object resultObject;
XmlSerializer serializer = new XmlSerializer(typeof(PointsContainer));
using (TextReader textReader = new StreamReader(@"d:\point.xml"))
{
resultObject = serializer.Deserialize(textReader);
}
return resultObject;
}
}
[Serializable]
[XmlRoot("Points")]
public class PointsContainer
{
[XmlElement("Point")]
private List<Point> items = new List<Point>();
public List<Point> Items
{
get { return items; }
set { items = value; }
}
}
[Serializable]
public class Point
{
[XmlAttribute]
public bool x { get; set; }
[XmlAttribute]
public bool y { get; set; }
}
Xml:
<Points>
<Point x="1" y="5"/>
<Point x="21" y="3"/>
<Point x="3" y="7"/>
</Points>
Move the [XmlElement]
attribute to the property.
XmlSerializer ignores private members.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With