Как отобразить содержимое файла XML на объект (ы) C # - PullRequest
14 голосов
/ 18 февраля 2012

Я новичок в C # и пытаюсь прочитать файл XML и перенести его содержимое в объект (ы) C #.

например, пример файла XML:

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

.. может быть сопоставлен с массивом класса C # с именем Person:

    Person[] people;

Где объект Person может содержать следующие поля:

    string name;
    uint age;

Ответы [ 2 ]

21 голосов
/ 18 февраля 2012

Похоже, вы хотите использовать сериализацию 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();

Надеюсь, это поможет

2 голосов
/ 18 февраля 2012

Вы можете использовать класс XmlSerializer для сериализации объектов CLR в XML.Вот документация MSDN с примером кода: http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx

...