Serialization and deserialization. To write this article I was using this web page. First lets serialize the XML. Idea is to create xml like
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<channels>
<channel>
<urn>test</urn>
</channel>
</channels>
</definitions>
So, first we have to prepare model, and looks like:
public class definitions
{
public List<channel> channels { get; set; }
}
public class channel
{
public string urn { get; set; }
}
Now serialization:
definitions serializeObject = new definitions(); channel channel = new channel(); channel.urn = "test"; serializeObject.channels = new List<channel>(); serializeObject.channels.Add(channel); XmlSerializer xmlSerializer = new XmlSerializer(typeof(definitions)); TextWriter txtWriter = new StreamWriter(@"d:\temp\MyTest.xml"); xmlSerializer.Serialize(txtWriter, serializeObject); txtWriter.Close();
That is all about serialization. Now we well deserialize same XML:
XmlSerializer xmlSerializer = new XmlSerializer(typeof(definitions));
using (FileStream fileStream = File.OpenRead(@"d:\temp\MyTest.xml"))
{
definitions channelDefinitions = (definitions)xmlSerializer.Deserialize(fileStream);
ChannelModels = channelDefinitions.channels;
}
Example project you can download from here.
That's all folks!