【问题标题】:Get the line number of a tag in an XML document with Perl?用 Perl 获取 XML 文档中标签的行号?
【发布时间】:2013-11-19 23:18:50
【问题描述】:

我希望有人可以帮助我弄清楚在使用 Perl 解析 XML 时需要做什么才能找到标记的行号。如果有一个现有的模块可以将 XML 解析为包含标签(的子集)行号的哈希,那就太好了,但我还没有偶然发现。

我想避免处理 start_element 等,但我有一种感觉,那就是我将不得不求助于。

谁能提供一些指导?

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

【问题讨论】:

  • 模块XML::Parser::Expat 有一个不言自明的方法current_line。没有您的代码、输入、输出等,这可能有助于解决您的问题。

标签: xml perl perl-module


【解决方案1】:

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";
}

【讨论】:

  • 实际上看起来它可能会做我需要它做的事情。谢谢!对于任何寻求帮助的人,给这个链接一个镜头:perlmonks.org/?node_id=490846
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-28
  • 2018-06-25
  • 2014-07-07
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
相关资源
最近更新 更多