Нужно предложение распечатать совпадающий результат один за другим с помощью метода HTML-TreeBuilder-XPath findnodes()

Я анализирую html-контент, используя HTML-TreeBuilder-XPath в Perl. у меня есть расположение xpath нужных мне данных. Проблема, с которой я столкнулся, заключается в том, что есть несколько совпадений xpath $html->findnodes(), которые возвращаются одним результатом, но мне нужно распечатать его один за другим. Нужно какое-то предложение. Спасибо.


person Balakumar    schedule 03.03.2014    source источник


Ответы (2)


Вы можете перебирать использование

  for my $node (@$paraelements)  { ..... }

Более полный пример

  use HTML::TreeBuilder::XPath;
  my $tree= HTML::TreeBuilder::XPath->new;
  $tree->parse_file( "mypage.html");
  my $paraelements= $tree->findnodes( '//p') ;

  for my $node (@$paraelements)  {
      say $node->as_HTML() ;
  }
person justintime    schedule 03.03.2014

Возвращает ссылку на список (ARRAYREF). Чтобы вернуть список, поместите @ перед переменной, чтобы указать Perl рассматривать это как [местоположение/адрес памяти] списка, как пример кода JIT.

person Ryan Phan    schedule 31.05.2016