using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml.Serialization;
namespace TestSGen
{
public class MyItem
{
public MyItem() {
Values = new List<string>();
}
public List<string> Values { get; private set; }
}
class Program
{
static void Main()
{
var item = new MyItem {
Values = { "A", "B", },
};
var serializer = new XmlSerializer(typeof(MyItem));
var builder = new StringBuilder();
using(var writer = new StringWriter(builder)) {
serializer.Serialize(writer, item);
}//using
Console.WriteLine("Item:");
Console.WriteLine(builder);
MyItem value;
using(var reader = new StringReader(builder.ToString())) {
value = (MyItem)serializer.Deserialize(reader);
}//using
Console.WriteLine("Value: Values = {{{0}}}", String.Join(", ", value.Values.ToArray()));
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uVGV4dDsKdXNpbmcgU3lzdGVtLlhtbC5TZXJpYWxpemF0aW9uOwoKbmFtZXNwYWNlIFRlc3RTR2VuCnsKICBwdWJsaWMgY2xhc3MgTXlJdGVtCiAgewogICAgcHVibGljIE15SXRlbSgpIHsKICAgICAgVmFsdWVzID0gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgfQoKICAgIHB1YmxpYyBMaXN0PHN0cmluZz4gVmFsdWVzIHsgZ2V0OyBwcml2YXRlIHNldDsgfQogIH0KCiAgY2xhc3MgUHJvZ3JhbQogIHsKICAgIHN0YXRpYyB2b2lkIE1haW4oKQogICAgewogICAgICB2YXIgaXRlbSA9IG5ldyBNeUl0ZW0gewogICAgICAgIFZhbHVlcyA9IHsgIkEiLCAiQiIsIH0sCiAgICAgIH07CgogICAgICB2YXIgc2VyaWFsaXplciA9IG5ldyBYbWxTZXJpYWxpemVyKHR5cGVvZihNeUl0ZW0pKTsKICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwogICAgICB1c2luZyh2YXIgd3JpdGVyID0gbmV3IFN0cmluZ1dyaXRlcihidWlsZGVyKSkgewogICAgICAgIHNlcmlhbGl6ZXIuU2VyaWFsaXplKHdyaXRlciwgaXRlbSk7CiAgICAgIH0vL3VzaW5nCgogICAgICBDb25zb2xlLldyaXRlTGluZSgiSXRlbToiKTsKICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoYnVpbGRlcik7CgogICAgICBNeUl0ZW0gdmFsdWU7CiAgICAgIHVzaW5nKHZhciByZWFkZXIgPSBuZXcgU3RyaW5nUmVhZGVyKGJ1aWxkZXIuVG9TdHJpbmcoKSkpIHsKICAgICAgICB2YWx1ZSA9IChNeUl0ZW0pc2VyaWFsaXplci5EZXNlcmlhbGl6ZShyZWFkZXIpOwogICAgICB9Ly91c2luZwoKICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIlZhbHVlOiBWYWx1ZXMgPSB7e3swfX19IiwgU3RyaW5nLkpvaW4oIiwgIiwgdmFsdWUuVmFsdWVzLlRvQXJyYXkoKSkpOwogICAgfQogIH0KfQo=