XPath/HtmlAgilityPack: Comment trouver un élément (un) avec une valeur spécifique pour un attribut (href) et de trouver adjacentes colonnes de la table?

Je suis désespérée parce que je ne peux pas comprendre comment parvenir à ce que j'ai dit dans la question. J'ai déjà lu d'innombrables exemples de ce genre, mais de ne pas en trouver un qui fonctionne dans la situation exacte. Alors, disons que j'ai le code suivant:

<table><tr>
<td><a href="url-a">text A</a></td><td><a>id A</a></td><td><a>img A</a></td>
<td><a href="url-b">text B</a></td><td><a>id B</a></td><td><a>img B</a></td>
<td><a href="url-c">text C</a></td><td><a>id C</a></td><td><a>img C</a></td>
</tr></table>

Maintenant, ce que j'ai déjà est une partie de l'url-un. En gros, je veux savoir comment je peux obtenir Un id et img A. je suis en train d'essayer de "trouver" la ligne avec XPath mais je ne peux pas le moyen de le faire fonctionner. Aussi, il pourrait être possible que l'information n'est pas présent dans tous les. Ceci est mon dernier essai (sérieusement, j'ai bricolé avec ce pendant plus de 3 heures essaie maintenant de nombreuses façons différentes):

if (htmlDoc.DocumentNode.SelectSingleNode(@"/a[contains(@href, 'part-url-a')]") != null)
    string ida = htmlDoc.DocumentNode.SelectSingleNode(@"/a[contains(@href, 'part-url-a')]/following-sibling::a").InnerText;

Bien, c'est apparemment mal comme l'enfer je serais très heureux si quelqu'un pouvait m'aider ici. Aussi, je vous en serais reconnaissant si quelqu'un pourrait me diriger vers un Site web qui explique XPath et les notations/Syntaxe en détail avec des exemples comme celui-ci. Les livres aussi les bienvenus.

PS: je sais que je pourrais atteindre mon objectif sans XPath à trop avec la Regex ou une simple StreamReader en C# et de vérifier si chaque ligne contient ce dont j'ai besoin, mais a) il est trop fragile pour mes besoins, car le code peut avoir de brusques sauts de lignes et b) j'ai vraiment envie de rester consistend de le coller complètement à XPath pour tout ce que je suis en train de faire dans ce projet.

Merci d'avance pour votre aide!

  • Bonne question, +1. Voir ma réponse pour exactement les expressions XPath qui selectionner le texte nœuds.
InformationsquelleAutor Gernony | 2011-09-03