我正在尝试将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。
答案 0 :(得分:0)
我认为问题在于你没有绑定到XElements列表,而是绑定到由于last().ToList&lt;而产生XElement列表的查询。 XElement&gt; ();被应用于所选择的每个项目而不是整个查询。
如果有疑问,将var更改为List&lt; XElement&gt;并从那里调试;