Html Agility Pack C #: la expresión debe evaluarse en un conjunto de nodos

Estoy usando Html Agility Pack para buscar una página web. Quiero recopilar todo el TEXTO QUE BUSCO del siguiente formulario:

<li><a href="/es/deal/map/4087664" class="show-location" title="bla bla" data-address="TEXT I AM LOOKING FOR"></a></li>

Probé este código:

var web = new HtmlWeb();
var doc = web.Load(url);

var nodes1 = doc.DocumentNode.SelectNodes("//[@data-address]");
var nodes2 = doc.DocumentNode.SelectNodes("//[@data-address={0}]");

ambos arrojaron una excepción: la expresión debe evaluarse en un conjunto de nodos. ¿Cómo puedo corregir mi selector?

preguntado el 27 de agosto de 11 a las 19:08

1 Respuestas

No soy un experto en XPath de ninguna manera, pero sospecho que quieres:

// Note the *
var nodes1 = doc.DocumentNode.SelectNodes("//*[@data-address]");

En otras palabras, "cualquier elemento con un data-address atributo"

Respondido 27 ago 11, 23:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.