【发布时间】:2012-07-14 08:18:01
【问题描述】:
假设我有一个这样的 HTML 树:
div
`- ul
`- li (*)
`- li (*)
`- li (*)
`- li (*)
`- ul
`- li
`- li
`- li
如何选择标有(*) 的<li> 元素?它们是第一个 <ul> 元素的直接后代。
这是我找到第一个 <ul> 元素的方法:
my $ul = $div->look_down(_tag => 'ul');
现在我有了$ul,但是当我做类似的事情时:
my @li_elements = $ul->look_down(_tag => 'li');
它还可以找到隐藏在 HTML 树中更深的 <li> 元素。
如何仅找到作为第一个 <ul> 元素的直接后代的 <li> 元素?我的数量不详。 (我不能像示例中那样只选择前 4 个)。
【问题讨论】:
标签: html perl parsing html-tree