使用Perl获取XML文档中标记的行号?

时间:2013-11-19 23:18:50

标签: xml perl perl-module

我希望有人可以帮我弄清楚在使用Perl解析XML时需要做些什么才能找到标记的行号。如果现有的模块可以将XML解析为包含标签(的一部分)的行号的散列,那将会很棒。但我还没有偶然发现它们。

我想避免不得不处理start_element等问题,但我觉得这是我不得不诉诸的。

有人可以提供一些指导吗?

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:6)

XML::LibXML模块提供XML::LibXML::Node类,其中包含line_number()方法。例如:

my $document = XML::LibXML->load_xml(string => '<a><b></b></a>');
foreach my $node ($document->findnodes('//b')) {
    print $node->line_number(), "\n";
}