尝试将linq-xml查询的结果绑定到gridview

时间:2010-07-13 14:18:07

标签: c# linq linq-to-xml

我正在尝试将linq-to-xml查询绑定到gridview。

我有以下XML

 <?xml version="1.0" encoding="utf-8" ?> 
 <thesaurus xmlns="x-schema:tsSchema.xml">
 <diacritics_sensitive>0</diacritics_sensitive>
    <expansion>
        <sub>satellite navigation</sub>
        <sub>sat-nav</sub>
        <sub>Sat Nav</sub>
        <sub>tom tom</sub>
    </expansion>
    <expansion>
        <sub>Car</sub>
        <sub>Vehicle</sub>
        <sub>Motor</sub>
        <sub>Wheels</sub>
        <sub>Ride</sub>
    </expansion>
 </thesaurus>

我使用以下Linq查询

        var query = from term in xDocumentTerms.Elements(tns + "thesaurus").Elements(tns + "expansion").Elements(tns + "sub")
                    where term.Value == val
                    select term.Parent.Descendants().ToList<XElement>();


        gridview_RelatedTerms.DataSource =query;
        gridview_RelatedTerms.DataBind();

返回数据然后绑定List的计数和容量,而不是我真正喜欢的XElement.Value。

1 个答案:

答案 0 :(得分:0)

我认为问题在于你没有绑定到XElements列表,而是绑定到由于last().ToList&lt;而产生XElement列表的查询。 XElement&gt; ();被应用于所选择的每个项目而不是整个查询。

如果有疑问,将var更改为List&lt; XElement&gt;并从那里调试;