使用正则表达式解析XML文件(Perl)

时间:2010-07-30 13:24:32

标签: regex perl parsing

我正在使用正则表达式来解析XML文件(虽然不推荐使用regexp进行xml解析,但我必须使用regexp,没有其他去处理。)

我的疑问是如何在使用Perl进行语法分析时跳过XML文件中的注释行。

我希望Perl解析XML文件,同时跳过注释行。

请有人帮助我。

由于 Senthil。

4 个答案:

答案 0 :(得分:4)

对于许多人来说这个问题很糟糕,但很多答案也同样糟糕:使用XML解析器,这就是为什么,讨论的结束。

对我来说,在stackoverflow上提出问题的重点是获得一个解决方案。我们是否为OP提供了解决方案?不完全的。

更完整的答案将提供有关如何解析xml的一些示例。这是一些;

Can you provide an example of parsing HTML with your favorite parser?

答案 1 :(得分:3)

如果您的问题是编译XML库,您可以尝试XML::Parser::LiteXML::Parser::PurePerl这些纯粹的perl模块,不需要编译。

或者,您可能能够找到非纯perl库的预编译包。你在用什么操作系统?

答案 2 :(得分:2)

请{@ 3}}改为使用XML解析器。

至少你可以编写一个简单的基于有限状态机的解析器来处理你的XML。这样做非常简单。

答案 3 :(得分:1)

一种方法是在解析之前去除注释行。

$string =~ s/<!--.*?-->//gs;