【问题标题】:How to map XML file content to C# object(s)如何将 XML 文件内容映射到 C# 对象
【发布时间】:2012-03-09 08:39:08
【问题描述】:

我是 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;

【问题讨论】:

    标签: c# xml file dictionary transfer


    【解决方案1】:

    听起来您想使用 XML 序列化。那里已经有很多了,但这是一个非常简单的例子。 http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

    你想要的 sn-p 大约是向下的 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();
    

    希望这会有所帮助

    【讨论】:

    • xml 序列化代码示例的链接现已失效……太糟糕了。我认为这就是为什么人们不鼓励在 stackoverflow 上链接到外部网站的原因——但我以前也是这个 fopaux 的罪犯,所以我不是一个真正可以谈论的人。
    • 我发布了相关代码以防链接失效。另外,你可以用谷歌搜索其余的代码,甚至可以尝试使用 Wayback 机器 - web.archive.org/web/20130921190426/http://tech.pro/tutorial/798/… 我在这里没有看到任何问题......
    • 死链接,被否决,抱歉(我知道上面的 cmets 已经涵盖了这一点,但您的答案尚未编辑)
    • @JᴀʏMᴇᴇ 你有超过2000分,这意味着你可以自己做。那就是声望和积分的目标。错误的形式只是对您可以修复的有效答案投了反对票....
    【解决方案2】:

    您可以使用 XmlSerializer 类将 CLR 对象序列化为 XML。这是带有一些示例代码的 MSDN 文档:http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx

    【讨论】:

    • 是的,xml序列化是最简单的
    猜你喜欢
    • 1970-01-01
    • 2010-09-10
    • 2013-07-05
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    相关资源
    最近更新 更多