En utilisant HtmlAgilityPack, j'essaie de capturer des lignes d'une table où le nom de classe de ligne alterne. Snippet ci-dessous:XPath pour capturer des lignes alternées
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
var documentNode = doc.DocumentNode;
var lstNodes = documentNode.SelectNodes("//table[@class='rgMasterTable']");
var tableNode = lstNodes[0];
var rows = tableNode.SelectNodes("//tr[@class='rgRow dnnGridItem'|@class='rgAltRow dnnGridAltItem']");
Sur la dernière ligne, je suis en train de dire: « Donnez-moi les lignes où la classe est soit « rgRow dnnGridItem » ou « rgAltRow dnnGridAltItem » Cependant, je reçois l'exception suivante:.
Exception thrown: 'System.Xml.XPath.XPathException' in System.Xml.dll
Additional information: Expression must evaluate to a node-set.
la source du code HTML est disponible ici: http://www.terna.it/it-it/sistemaelettrico/remit.aspx
Toute aide sur la requête XPath correcte
très apprécié
Pourquoi ne pas vous fournir l'échantillon du HTML? –
Je pensais que la question devrait être assez claire sans, et le HTML ne ferait qu'ajouter du fouillis. Lien fourni pour ceux qui sont intéressés. – GinjaNinja
Regardez ceci: http://stackoverflow.com/questions/2599198/select-on-multiple-criteria-with-xpath - vous devez à la place unir les deux sélecteurs au lieu d'avoir une expression dans les critères. –