static string Serialize(ItemContainer item_container) { XmlSerializer serializer = new XmlSerializer(typeof(ItemContainer)); // ファイルに書き出すときはStreamWriterを使う //StreamWriter sw = new StreamWriter("test.xml", false, new System.Text.UTF8Encoding(false)); //serializer.Serialize(sw, item_container); //sw.Close(); // オブジェクト→文字列 StringWriter tw = new StringWriter(); serializer.Serialize(tw, item_container); string xml = tw.ToString(); return xml; }
static void Main(string[] args) { // 元データ ItemContainer item_container = new ItemContainer(); item_container.Items.Add(new Item(1, "aaa")); item_container.Items.Add(new Item(2, "bbb")); item_container.Items.Add(new Item(3, "ccc")); item_container.dump(); // オブジェクト→XML string xml = Serialize(item_container); Console.WriteLine(xml); // XML→オブジェクト ItemContainer tmp = Deserialize(xml); tmp.dump(); }