【发布时间】:2011-10-13 23:16:25
【问题描述】:
我想使用 HTML::TreeBuilder::XPath Perl 模块选择节点的父节点或兄弟节点,让我们以如下示例 HTML 为例:
<tbody>
<tr>
<td class="c1">Match_Text</td>
<td class="c2">Extact_Text</td>
</tr>
<tr>
<td class="c1"></td>
<td class="c2"></td>
</tr>
</tbody>
所以我想为此提取文本“Match_Text”,我将 xpath 表达式为:
'/html/body//td[@class="c1"]="Match_Text"/../td[@class="c2"]'
这是我用例的有效表达式。
但看起来父级没有实现,我从 perl 模块收到以下错误:
轴axis_parent未实现[无法定位对象方法 “getParentNode”通过包“XML::XPathEngine::Literal”在 /usr/local/share/perl/5.10.1/XML/XPathEngine/Step.pm 第 326 行。]
任何人都可以建议一个可能适用于我的用例(访问节点的父/兄弟)的替代 Xpath 表达式。请注意,我只想使用 Xpath 表达式来执行此操作,并且不想创建 DOM 并显式遍历树。
【问题讨论】: