Выбрать любой элемент по классу - xpath

c# html-agility-pack

Вопрос

Как я могу выбрать любой элемент по классу / имени с помощью xpath?

var nodeByClass = doc.DocumentNode.SelectSingleNode("//[@class='class_name']");
var nodeName = doc.DocumentNode.SelectSingleNode("//[@name='element_name']");

У меня есть исключение

The expression must be evaluated for a set of nodes.

Популярные ответы

У вас отсутствует шаг местоположения после // , поскольку предикат сам по себе не разрешен.

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']");


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow