1

我 在 Perl 中使用HTML-TreeBuilder-XPath解析 html 内容。我得到了我需要的数据的 xpath 位置。我面临的问题是,$html->findnodes()单个结果返回的 xpath 有几个匹配项,但我需要一一打印。需要一些建议。谢谢。

4

2 回答 2

4

您可以迭代使用

  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() ;
  }
于 2014-03-03T09:09:00.590 回答
0

它返回对列表 (ARRAYREF) 的引用。要取回列表,请在变量前添加 @ 以告诉 Perl 将其视为列表的 [位置/内存地址],就像 JIT 的示例代码一样

于 2016-05-31T05:32:09.030 回答