У меня есть пример HTML:Синтаксических Вложенные элементы HTML :: TreeBuilder
<div>
<p>get this</p>
</div>
<p>not this</p>
Есть ли способ, чтобы получить вложенный элемент, используя HTML::TreeBuilder
и look_down
? Я могу использовать look_down
на результирующем элементе первого поиска.
my $tree = HTML::TreeBuilder->new;
$tree->parse("<div><p>get this</p></div><p>not this</p>");
my $div = $tree->look_down(_tag => "div");
my $p = $div->look_down(_tag => "p");
print $p->as_text() . "\n";
Можно ли получить это в одном поиске, похожий на селектор CSS div p
? Я ограничен XPath?
Почему вы хотите использовать look_down В таком случае, XPATH или CSS селекторов будет удобно?. Если вы используете HTML :: TreeBuilder :: XPath, тогда вы можете выполнить 'my $ p = $ tree-> findnodes ('// div/p') -> [0];'. И если вы предпочитаете HTML :: TreeBuilder :: Select: 'my $ p = ($ tree-> select ('div p')) [0];'. – Dada
То, что первоначально привлекло меня к 'look_down', - это скорость и XPath. Я обнаружил, что это 7 раз медленнее на моей машине, используя этот скрипт: https://gist.github.com/dsullivan7/6d039fda561d6bf4d55e4b8fd8f7a6c3 –