2009-11-24 5 views
1

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

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

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

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

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

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

ответ

1

Я просто пропустил тег «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"); 
Смежные вопросы