如何将XML文件内容映射到C#对象

tem*_*elm 15 c# xml file map transfer

我是C#的新手,我正在尝试读取XML文件并将其内容传输到C#对象.

例如,一个示例XML文件可能是:

    <people>
        <person>
            <name>Person 1</name>
            <age>21</age>
        </person>
        <person>
            <name>Person 2</name>
            <age>22</age>
        </person>
    </people>
Run Code Online (Sandbox Code Playgroud)

..可以映射到名为'Person'的C#类数组:

    Person[] people;
Run Code Online (Sandbox Code Playgroud)

Person对象可以包含以下字段:

    string name;
    uint age;
Run Code Online (Sandbox Code Playgroud)

Jus*_*ony 22

听起来你想要使用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();
Run Code Online (Sandbox Code Playgroud)

希望,这有帮助

  • xml 序列化代码示例的链接现已失效......太糟糕了。我认为这就是为什么人们不鼓励在 stackoverflow 上链接到外部网站 - 但我也是这个 fopaux 的前犯,所以我不是一个真正可以谈论的人。 (2认同)
  • @JᴀʏMᴇᴇ你有超过2000分,这意味着你可以自己做.这是声誉和积分的目标.糟糕的形式只是低估了你可以解决的有效答案.... (2认同)