我有一个这样的xml:
<countries>
<country ID="MX">
<idea ID="Valor1">nota1</idea>
<idea ID="Valor2">nota2</idea>
<idea ID="Valor3">nota3</idea>
<idea ID="Valor4">nota4</idea>
</country>
<country ID="US">
<idea ID="Valor1">nota1</idea>
<idea ID="Valor2">nota2</idea>
<idea ID="Valor3">nota3</idea>
<idea ID="Valor4">nota4</idea>
</country>
</countries>
使用 LINQ to XML 如何获取特定类型的列表?我试过这样的事情:
我创建了一个类:
public class Ideas
{
public string Country { get; set; }
public List<ListItem> ListIdeas { get; set; }
}
然后我用这个类来做一个列表:
XDocument xdoc = XDocument.Load(this.Server.MapPath("~/config/ideas.xml"));
var cat = from p in xdoc.Descendants("countries")
.Elements("country")
.Select(m => new Ideas
{
Country = m.Attribute("ID").Value,
ListIdeas = m.Elements("idea")
.Select(c =>
new ListItem
{
Text = c.Attribute("ID").Value ,
Value = c.Value
}).ToList()
});
但我得到下一个错误:
查询主体必须以 select 子句或 group 子句结尾
select 子句中的表达式类型不正确。调用“选择”时类型推断失败。