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

Dav*_*ung 2 xml perl perl-module

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

我想避免不得不处理start_element等,但我有一种感觉,那就是我将不得不诉诸的东西.

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

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

Mat*_*len 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";
}
Run Code Online (Sandbox Code Playgroud)