I have a problem. I have the following class to parse my XML to:
[XmlRoot(ElementName = "picture")]
public class SetPicture
{
[XmlElement(ElementName = "id")]
public string Id { get; set; }
[XmlElement(ElementName = "name")]
public string Name { get; set; }
[XmlElement(ElementName = "size")]
public string Size { get; set; }
[XmlElement(ElementName = "price")]
public string Price { get; set; }
[XmlElement(ElementName = "quantity")]
public string Quantity { get; set; }
[XmlElement(ElementName = "sizes")]
public List<Size> Sizes { get; set; }
[XmlIgnore]
public ImageSource imageSource { get; set; }
}
[XmlRoot(ElementName = "set")]
public class Set
{
[XmlElement(ElementName = "name")]
public string Name { get; set; }
[XmlElement(ElementName = "price")]
public string Price { get; set; }
[XmlElement(ElementName = "pictures")]
public List<SetPicture> Pictures { get; set; }
}
[XmlRoot(ElementName = "sets")]
public class Sets
{
[XmlElement(ElementName = "set")]
public List<Set> Set { get; set; }
}
[XmlRoot(ElementName = "data")]
public class Data
{
[XmlElement(ElementName = "sets")]
public Sets Sets { get; set; }
}
And I receive the following XML:
<data>
<sets>
<set>
<name>Set A</name>
<price>13.9</price>
<pictures>
<picture>
<id>4</id>
<name>Potret2.jpg</name>
<size>13 x 18 mat</size>
<price>6.95</price>
<quantity>2</quantity>
</picture>
<picture>
<id>5</id>
<name>Potret2Pasfoto.jpg</name>
<size>13 x 18 mat</size>
<price>6.95</price>
<quantity>1</quantity>
</picture>
</pictures>
</set>
</sets>
</data>
But after parsing the XML to the Class, I get an empty List<SetPicture> Pictures. I think I know what is going wrong, because I parse the tag <pictures> to the list, but I need to parse the elements <picture> to the list.
How can I fix this?
[XmlElement(ElementName = "pictures")]to[XmlElement(ElementName = "picture")]