【发布时间】:2012-01-26 19:14:54
【问题描述】:
我是 LINQ 的新手。我有一个带有自定义属性的普通 siteMap XML 文档。这些属性之一是:id
我想使用 LINQ 检索与自定义属性 (id) 的值匹配的单个节点。
等等
我对 LINQ 的尝试如下所示:
private SiteMapNode FindNodeById(SiteMapNodeCollection nodes, int siteMapNodeId)
{
var pageNode = from SiteMapNode node in nodes.Cast<SiteMapNode>()
where node["id"] == Convert.ToString(siteMapNodeId)
select node;
return (SiteMapNode)pageNode;
}
在调试期间,pageNode 被分配:
{System.Linq.Enumerable.WhereEnumerableIterator<System.Web.SiteMapNode>}
在 return 语句中抛出 InvalidCastException:
Unable to cast object of type 'WhereEnumerableIterator`1[System.Web.SiteMapNode]' to type 'System.Web.SiteMapNode'.
感谢任何帮助! :)
编辑:我在这里以更清晰的方式重新发布了这个问题:Re-worded Question
感谢 Stefan 让我走上正轨!
【问题讨论】:
标签: c# xml linq sitemap custom-attributes