2012年1月29日日曜日

[C#]インスタンスをXML文字列化

インスタンスをXML文字列に変換したり、XML文字列からインスタンスを復元したりしてみます。

    var serializer = new XmlSerializer(typeof(Entity));

    // インスタンス生成
    var entity1 = new Entity();
    entity1.Data1 = 2;
    entity1.Data2 = 3;

    // インスタンスをXML文字列に変換
    var stringWriter = new StringWriter();
    serializer.Serialize(stringWriter, entity1);
    string entityString = stringWriter.ToString();

    Console.WriteLine(entityString);
    // WRITE:
    // <!--?xml version="1.0" encoding="utf-16"?-->
    // <entity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    //   <data1>2</data1>
    //   <data2>3</data2>
    // </entity>


    // XML文字列からインスタンスを復元
    TextReader reader = new StringReader(entityString);

    Entity entity2 = (Entity)serializer.Deserialize(reader);


    [Serializable]
    public class Entity
    {
        public int Data1 { get; set; }
        public int Data2 { get; set; }
    }



0 件のコメント:

コメントを投稿