Вопрос

Предполагая, что вложенные таблицы не имеют уникальных атрибутов (идентификатор, класс или что -либо еще), чтобы получить необходимый через

doc.DocumentNode.SelectSingleNode("//table[@width='500']")

Запрещает ли XPath несколько раз использовать таблицу на своем пути?

foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/center/table"))

Выбросывает исключение, как SelectNodes возвращает NULL.

Если да, то как справиться с анализом HTML с вложенными таблицами без определенных атрибутов с пакетом ловкости?

Это было полезно?

Решение

Я только что пропустил тег "TD" на своем пути. Так

foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/td/center/table/tr/td/center/table"))

работает. Это на самом деле отвечает на мой вопрос. Другой обходной путь, чтобы получить ту же таблицу, предполагая, что в родительских элементах есть уникальные значения атрибутов

HtmlNode tbl = doc.DocumentNode.SelectSingleNode("//td[@height='643']/center/table");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top