Perl中的libxml得到节点的最后一个行号(Perl LibXML get last line

2019-11-01 10:37发布

我使用的libxml Perl中,其中存储的每个节点的起始行号,但我怎么能得到最后一个?

我试图通过获得最后的行号..

  • ..counting换行符在节点的innerHTML的,但在libxml的不同的格式返回的innerHTML比原,从而使行号不同。
  • ..node-> getLastChild-> LINE_NUMBER,也就吃没有成功。

任何想法?

Answer 1:

如果line_number返回节点的第一线像你说的,所有你需要的是

my $s_line_num = $node->line_number();
my $e_line_num = $node->nextSibling()->line_number();

但事实并非如此。 什么line_number回报实际上是更接近节点的最后一行的数量。 为此,我们可以简单地看一下前面的兄弟姐妹的行号。

my $s_line_num = $node->previousSibling()->line_number();
my $e_line_num = $node->line_number();

不过,虽然这就是它返回非元素节点,它返回的开始标记为元素的最后一个行号(而不是元素作为一个整体)。 这是完全无用的。

对不起,没有做不到的!



文章来源: Perl LibXML get last line number of Node