У меня есть 1000+ HTML-документов, которые содержат различные таблицы каждый и используют PowerShell для их обработки.HtmlAgilityPack получить таблицы на основе значения ячейки
Я ищу для извлечения определенных таблиц, их можно идентифицировать по первой строке, которая используется для заголовков, и одна из ячеек всегда имеет слово «измерение».
Поскольку HTML является .doc экспортом, слово может быть вложено в <span>
или <p>
, поэтому я идеально мог бы игнорировать этот уровень вложенности.
Я пытался что-то вроде:
$tables = $doc.DocumentNode.SelectNodes("//table[* = 'measurement']")
, но ничего не получить обратно.
Вот еще некоторые HTML, к сожалению, я не могу отправить все это, но это экспорт MS Word в HTML-документе:
<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;mso-table-layout-alt:fixed;border:none;
mso-border-alt:double windowtext 1.5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
<td width=192 valign=top style='width:2.0in;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoHeading9><span lang=EN-CA>Areas</span></p>
</td>
<td width=288 valign=top style='width:3.0in;border:solid windowtext 1.0pt;
border-left:none;mso-border-left-alt:solid windowtext 1.0pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoHeading9><span lang=EN-CA>measurements</span></p>
</td>
<td width=346 valign=top style='width:3.6in;border:solid windowtext 1.0pt;
border-left:none;mso-border-left-alt:solid windowtext 1.0pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoHeading9><span lang=EN-CA>Objectives</span></p>
</td>
</tr>
Опубликовать минимальный образец HTML, который продемонстрировал бы, как ваш код не работает – har07
FYI, чтобы отформатировать ваш код: заблокировать/выбрать код, затем нажать кнопку '{}' в верхней части редактора – har07