XML to be deserialized:

```
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<changes next="296">
    <change>
        <objectid>E702C43C-E04B-450B-BEBC-76646AB299C5</objectid>
        <parentid>ED98C97F-A202-48ED-AEEA-34362508A30B</parentid>
        <objecttype>file</objecttype>
        <listentype>remove</listentype>
    </change>
    <change>
        <objectid>3A242975-CEF0-432B-A997-B33D85C138C8</objectid>
        <parentid>ED98C97F-A202-48ED-AEEA-34362508A30B</parentid>
        <objecttype>file</objecttype>
        <listentype>add</listentype>
    </change>
</changes>

```

Data models used:

```
[XmlRoot("changes")]
public class ChangeListener
{   
    public List<Change> Changes { get; set; }
}

[XmlRoot("change")]
public class Change
{
    [XmlElement("objectid")]
    public Guid objectid { get; set; }
    [XmlElement("parentid")]
    public Guid parentid { get; set; }
    [XmlElement("objecttype")]
    public string objecttype { get; set; }
    [XmlElement("listentype")]
    public string listentype { get; set; }
}

```

Deserialization code, here result is above xml in string format:

```
(ChangeListener)new XmlSerializer(typeof(ChangeListener)).Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(result)))

```

But I am getting errors for this code; I also tried couple of things e.g. marked `Changes` property of `ChangeListener` class with `[XmlElement("changes")]` instead of marking class as xmlroot but it also did not worked.

Kindly suggest good approach for this issues.