我需要从XmlNodeList中过滤出节点的最有效方法。 XmlNodeList是我从dtSearch获得的。 该列表包含在指定的searchPhrase上找到的项目列表。 我想过滤掉所有不属于我想要查看的网站的项目。 有关找到结果的网站的信息存储在结果的路径中,我可以使用以下方式访问它:
// Get a list of Item nodes
XmlNodeList list = xmlResult.SelectNodes("/sitecore/result/item");
foreach (System.Xml.XmlNode node in list)
{
XmlNode thisScPath = node.SelectSingleNode("scPath");
if (thisScPath == null)
continue;
}
假设我想用包含字符串“xxy”的scPath过滤掉所有节点,是否可以在我进入foreach之前执行此操作,其中我遍历列表中的所有节点?例如,我可以使用Linq吗?
答案 0 :(得分:2)
您可以在XPath表达式中添加谓词,例如
/sitecore/result/item[scPath!='xxy']
将找到所有没有子节点“scPath”的项目节点,其值为“xxy”。