为什么跟随XPath语句返回所有"a"元素?

Shu*_*ham 3 perl xpath

print $tree->findvalue('//a[1]');
Run Code Online (Sandbox Code Playgroud)

HTML::TreeBuilder::XPath在perl中使用.现在我希望上面的语句返回第二个"a"元素的值,但它返回页面中所有"a"元素的值.我不明白为什么?

THX*_*138 8

你拥有的东西应该首先归还每个元素的孩子.
所以//a[1]将如下工作(结果将是2个节点):

X
 Y
  a <-- give you this
  a
Z
 a <-- and this
 a
Run Code Online (Sandbox Code Playgroud)

试着(//a)[1]改为