私はこのような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 句の式の型が正しくありません。'Select' の呼び出しで型の推定に失敗しました。