C#xml linq查询结果格式化

时间:2014-05-11 10:50:43

标签: c# xml linq

我正在尝试将此查询的结果绑定到组合框。

public IEnumerable<object> getGenres()
    {
        var genres = (from item in data.Descendants("genre")
                     select new 
                     {
                         Genre = item.Value
                     }).Distinct();


        return genres.ToArray();
    }

我的xml看起来像这个减去根元素。

    <preformance>
         <venue> Captain Cook Tavern </venue>   
         <date> 30/05/2013 </date>
         <time> 11:00pm </time>
         <band> 
            <name> Cult Disney </name>
            <genre> Punk Rock</genre>
         </band>    
     </preformance>

它以这种格式绑定。

{ Genre =  Punk Rock }

对我而言,我需要更深入地获取实际值而不是xml标签本身,但我不确定如何做到这一点。

有人能指出我正确的方向吗?

由于

1 个答案:

答案 0 :(得分:1)

您实际上是在创建一个名为Genre的单个成员的匿名类。这会导致额外的嵌套。相反,你可以这样做:

public IEnumerable<string> getGenres()
{
    var genres = (from item in data.Descendants("genre")
                 select item.Value).Distinct();

    return genres.ToArray();
}