I'm trying to convert my xml file to a list of objects.
private void ReadChangelog()
{
XmlSerializer serializer = new XmlSerializer(typeof(Changelog));
Changelog changelog = (Changelog)serializer.Deserialize(new StringReader("changelog.xml"));
foreach (Release release in changelog.Releases)
{
string version = release.Version;
string date = release.Date;
string changes = release.Changes;
}
}
This is my changelog class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
[XmlRoot()]
public class Changelog
{
private Release[] releases;
public Release[] Releases
{
get { return releases; }
set { releases = value; }
}
}
public class Release
{
private string version;
private string date;
private string changes;
[XmlAttribute]
public string Version
{
get { return version; }
set { version = value; }
}
[XmlAttribute]
public string Date
{
get { return date; }
set { date = value; }
}
[XmlAttribute]
public string Changes
{
get { return changes; }
set { changes = value; }
}
}
And this is my xml
<?xml version="1.0" encoding="utf-8" ?>
<Changelog>
<Releases>
<Release>
<Version>1511</Version>
<Date>25-11-2013</Date>
<Changes>
qzdqzdqzdqzdzdzzqefrsrgsrg
</Changes>
</Release>
<Release>
<Version>1510</Version>
<Date>25-11-2013</Date>
<Changes>
Blabqzdzqdqzdqzd
</Changes>
</Release>
<Release>
</Releases>
</Changelog>
But when I try to run this I get an error
InvalidOperationException, The xml document (1,1) contains an error.
What am I doing wrong?