我使用LINQ to XML / LINQ to Objects来创建对象,并且该对象具有枚举属性。我试图找出如何从XML中切换特定字符串并将枚举设置为特定值。
我已经列出了我到目前为止所尝试的内容,但我不知道切换属性值的实际方法。我该怎么办?
示例XML:
<post title="Title" type="newsletter">blah</post>
<post title="Another title" type="email">blah</post>
<post title="etc" type="newsletter">blah</post>
示例模型:
public class PostItem
{
public PostType PostType { get; set; }
}
public enum PostType
{
EMail,
Newsletter,
Rss
}
这是构建模型的实际代码:
public IEnumerable<PostItem> GetPosts()
{
var data = from postItem in xDoc.Descendants("etc etc")
select new PostItem
{
Title = (string)postItem.Attribute("title"),
NewsType = ?
//**I'm wanting to do something like this**
switch((string)postItem.Attribute("type")
{
case "newsletter":
PostType = PostType.Newsletter;
etc.
};
return data;
}