ここに私が得ることができないものがあります:
IEnumerable<XmlNode> list = xml.SelectNodes(xpath).Cast<XmlNode>();
対デバッグで戻りますnull
一方
IEnumerable<XmlNode> list = new List<XmlNode>(xml.SelectNodes(xpath).Cast<XmlNode>());
ノードを返します。
yield return
前のコードのどこかに継ぎ目があります...
IEnumerable<string> xpaths = ...;
xpaths = xpaths.GroupBy(r => r).Select(r => r.Key);
foreach(xpath in xpaths)
{
IEnumerable<XmlNode> list = xml.SelectNodes(xpath).Cast<XmlNode>();
//...
}