web-dev-qa-db-ja.com

XMLファイルのコンテンツをC#オブジェクトにマップする方法

私はC#を初めて使用し、XMLファイルを読み取ってその内容をC#オブジェクトに転送しようとしています。

例えばXMLファイルの例は次のとおりです。

    <people>
        <person>
            <name>Person 1</name>
            <age>21</age>
        </person>
        <person>
            <name>Person 2</name>
            <age>22</age>
        </person>
    </people>

..「Person」と呼ばれるC#クラスの配列にマップできます。

    Person[] people;

Personオブジェクトには次のフィールドを含めることができます。

    string name;
    uint age;
16
temelm

XMLシリアル化を使用したいようです。すでにたくさんありますが、これはかなり単純な例です。 http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

必要なスニペットは、約1/4です。

XmlSerializer deserializer = new XmlSerializer(typeof(List<Movie>));
TextReader textReader = new StreamReader(@"C:\movie.xml");
List<Movie> movies; 
movies = (List<Movie>)deserializer.Deserialize(textReader);
textReader.Close();

うまくいけば、これは役立ちます

24
Justin Pihony

XmlSerializerクラスを使用して、CLRオブジェクトをXMLにシリアル化できます。これは、いくつかのサンプルコードを含むMSDNドキュメントです。 http://msdn.Microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx

2
Jomit