I need the most efficient way to filter out Nodes from a XmlNodeList.
The XmlNodeList is what i get back from dtSearch.
The list contains a list of items that are found on a specified searchPhrase.
I want to filter out all items that are not belonging to the website i want to look on.
The information about what website the result has been found on is stored in the path of the result and I can access it using:
// 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;
}
Let’s say i want to filter out all Nodes with a scPath containing string “xxy”, is it possible to do this before i enter the foreach in which i walk through all the nodes in the list? For example, can I do this with Linq?
You can add predicates to the XPath expression, e.g.
will find all item nodes that don’t have a child node “scPath” with a value “xxy”.