Вы пропускаете шаг местоположения после //
, так как сам по себе предикат недопустим.
var nodeByClass = doc.DocumentNode.SelectSingleNode("//*[@class='class_name']");
var nodeName = doc.DocumentNode.SelectSingleNode("//*[@name='element_name']");
сокращение для:
var nodeByClass = doc.DocumentNode.SelectSingleNode("//self::node()[@class='class_name']");
var nodeName = doc.DocumentNode.SelectSingleNode("//self::node()[@name='element_name']");