【发布时间】:2015-04-26 00:52:02
【问题描述】:
我有 1000 多个 HTML 文档,每个文档都包含各种表格,并且使用 PowerShell 来处理它们。
我希望提取特定的表格,这些可以通过第一行来识别,第一行用于标题,其中一个单元格始终包含“测量”一词。
由于 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 示例,展示您的代码如何失败
-
仅供参考,格式化您的代码:阻止/选择代码,然后单击编辑器顶部的
{}按钮
标签: powershell xpath html-agility-pack