如何通过属性名和内部xml反序列化到属性
本文关键字:属性 xml 反序列化 内部 何通过 | 更新日期: 2023-09-27 17:51:16
我有一个这样的xml:
<employees>
<employee id="11629">
<field id="displayName">First Last</field>
<field id="email">test@test.com</field>
</employee>
</employees>
我创建了一个类:
public class Employee
{
[XmlAttribute("id")]
public string Id { get; set; }
public string DisplayName { get; set; }
public string Email { get; set; }
}
对于Id一切工作完美,但我不知道如何但属性我们可以设置值为DisplayName属性。
请帮。
你可以试试:
public class Employee
{
[XmlAttribute("id")]
public string Id { get; set; }
[XmlElement("field")]
public List<Field> Fields { get; set; }
public string DisplayName
{
get
{
return Fields.Where(i => i.Id == "displayName").FirstOrDefault().Value;
}
}
public string Email
{
get
{
return Fields.Where(i => i.Id == "email").FirstOrDefault().Value;
}
}
}
public class Field
{
[XmlAttribute("id")]
public string Id { get; set; }
[XmlText]
public string Value { get; set; }
}