2012-01-04 44 views
5

Estoy intentando esto seleccionando varios nodos a través de htmlagilitypack pero falla. Cual es la sintaxis correcta ? Entonces, lo que intento es recopilar nodos y nodos de li dentro del elemento div breadcrumbs. Gracias.Selección de nodo Xpath - cómo seleccionar 2 elementos diferentes - htmlagilitypack

string srxPathOfCategory = "//div[@class='breadcrumbs']//li or //div[@class='breadcrumbs']//a"; 
var selectedNodes = myDoc.DocumentNode.SelectNodes(srxPathOfCategory); 

XPath, C#, htmlagilitypack

Solución

string srxPathOfCategory = "//div[@class='breadcrumbs']//li[@class='product'] | //div[@class='breadcrumbs']//a"; 
+1

por favor, puesto muestra de html de la que está intentando seleccionar. El html exacto, no es algo que saques de tu cabeza que crees que está "lo suficientemente cerca". – x0n

+0

En realidad no es necesario. Si tuviera la experiencia suficiente con Xpath, sabría qué usar en lugar de "o" palabra. También encontré el mensaje de solución editada. – MonsterMMORPG

+1

@MonsterMMORPG: Póngalo como respuesta, y márquelo como tal :) –

Respuesta

11

solución es

string srxPathOfCategory = "//div[@class='breadcrumbs']//li[@class='product'] | //div[@class='breadcrumbs']//a"; 

Así, por "o" necesita utilizar "|"

+0

¿Esta afirmación también tratará O como nodos "adicionales"? es decir, si quiero obtener tr [1]. [2] y tr [last()]. ¿Funcionaría '|', hay otro parámetro necesario o todos deben estar separados? – Austin

+0

excelente respuesta! –

Cuestiones relacionadas