XPath / HTMLAGILYPACK: Как найти элемент (а) с определенным значением для атрибута (href) и находить соседние столбцы таблицы?

Я довольно отчаянно, потому что я не могу понять, как достичь того, что я заявил в вопросе. Я уже прочитал бесчисленные аналогичные примеры, но не нашел никто, который работает в точной ситуации. Итак, скажем, у меня есть следующий код:

<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>

Теперь, что у меня уже есть, является частью URL-A. Я в основном хочу знать, как я могу получить удостоверение личности A и IMG A. Я пытаюсь «найти» линию с XPath, но я не могу выработать способ заставить его работать. Кроме того, возможно, возможно, что информация вообще отсутствует. Это моя последняя попытка (серьезно, я скучал с этим более 3 часов, теперь пробую многочисленные разные способы):

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;

Ну, явно ошибаюсь, так что я был очень доволен, если кто-то может помочь мне здесь Отказ Также я был бы признателен, если бы кто-то мог указать мне на какой-то веб-сайт, который подробно объясняет XPath и обозначения / синтаксис с примерами, как этот. Книги также приветствуются.

PS: Я знаю, что я могу достичь своей цели без XPath тоже с помощью Regex или просто простой упрочкой в ​​C # и проверку, если каждая строка содержит то, что мне нужно, но а), это слишком хрупко для моих нужд, потому что код может быть резким Line-Breaks и B) Я действительно хочу остаться, состоял в том, чтобы полностью придерживаться XPath для всего, что я делаю в этом проекте.

заранее спасибо за вашу помощь!

6
задан Gernony 3 September 2011 в 20:36
поделиться