假设我有以下XML:

<Account>
        <AccountExpirationDate>6/1/2009</AccountExpirationDate>
</Account>


我想使用LINQ to XML将其解析为一个我称为Account的对象:

public class Account {
    public DateTime? AccountExpirationDate { get; set; }
}


这是我尝试过的C#代码,但不允许我使用null:

var accountSettings =
  from settings in templateXML.Descendants("Account")
  select new Account {
      AccountExpirationDate =
         string.IsNullOrEmpty(settings.Element("AccountExpirationDate").Value)
         ? DateTime.Parse(settings.Element("AccountExpirationDate").Value)
         : null
  };


如果该元素存在于XML中,我是否可以只为AccountExpiration分配一个日期?在我的业务逻辑中,该值为null是可以接受的。谢谢!

最佳答案

var accountSettings =
  from settings in templateXML.Descendants("Account")
  select new Account {
    AccountExpirationDate =
      string.IsNullOrEmpty((string)settings.Element("AccountExpirationDate"))
            ? (DateTime?)null
            : DateTime.Parse(settings.Element("AccountExpirationDate").Value)
  };

07-24 09:33