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

时间:2013-07-22 22:45:50

标签: c# .net xml serialization xml-serialization

我有这种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行属性)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

如果属性会动态变化,最好使用带有键/值对的Dictionary<T,T> - http://msdn.microsoft.com/en-us/library/xfhwa508.aspx