在字典中存储类的属性或字段

时间:2019-05-25 10:21:44

标签: c# xml linq-to-xml

我想创建一个窗口,用户可以在其中将XML文件中的字段映射到类的字段或属性,然后再访问该映射以导入相同的XML结构。例如,我有订单类:

public class Order
{
    [Key]
    public string OrderId { get; set; }
    public int Status { get; set; }
    public DateTime ImportDate { get; set; }
}

和XML:

<Order>
  <Header>
    <OrderNo>4711</OrderNo>
    <OrderStatus>20</OrderStatus>
    <OrderConfirmed>1</OrderConfirmed>
    <OrderReference>test</OrderReference>
  </Header>
</Order>

现在我的想法是使用一个简单的Linq to XML方法:

    var ordersInXml = xDoc.Root
                        .Elements("Header")
                        .Select(x => new Order()
                        {
                            OrderId = (string)x.Descendants("OrderNo").First().Value,
                            OrderStatus = (string)x.Descendants("OrderStatus").First().Value

                        })
                    .ToList();

我希望能够以某种方式构建一种将XML属性映射到我的类的字段的方法。例如,在我的Linq中访问字典以获取XML代码? 我不知道如何实现这一目标。还有更好的主意吗?

0 个答案:

没有答案