html вложенные таблицы.

html html-agility-pack xpath

Вопрос

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

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

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

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

выбрасывает исключение, поскольку SelectNodes возвращает значение null.

Если да, то как решить синтаксический анализ html с вложенными таблицами без определенных атрибутов с помощью Agility Pack?

Принятый ответ

Я просто пропустил тег «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");


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow