将通用XML列表转换为C#对象

本文关键字:对象 转换 列表 XML | 更新日期: 2023-09-27 18:24:36

我有这样的XML文件格式(来自第三方API):

<root>
    <parameter name="id">189880</parameter>
    <parameter name="target">2c92c0f83ff55b4b014007d6194e1bed</parameter>
    <parameter name="account">2c92c0f93fd531f1013feed6c1095259</parameter>
    <parameter name="contact">Laurie</parameter>
</root>

该文件可以包含1到50行,每行描述不同的特性。

我想动态地将它转换为C#对象。文件的每一行都将成为一个属性,并由相应的值填充。

基于上述XML的示例:

public class Result
{
    public string id { get; set; }
    public string target { get; set; }
    public string account { get; set; }
    public string contact { get; set; }
}

编辑:

让我们简化这个问题。让我们假设文件结构是固定的(例如,总是上面描述的4行属性)

将通用XML列表转换为C#对象

使用Xsd.exe工具从XML生成C#类。然后使用XmlSerializer对对象进行反序列化。

您最好使用Dictionary<T,T>-http://msdn.microsoft.com/en-us/library/xfhwa508.aspx如果属性将动态更改,则使用键/值对。