我正在使用正则表达式来解析XML文件(虽然不推荐使用regexp进行xml解析,但我必须使用regexp,没有其他去处理。)
我的疑问是如何在使用Perl进行语法分析时跳过XML文件中的注释行。
我希望Perl解析XML文件,同时跳过注释行。
请有人帮助我。
由于 Senthil。
答案 0 :(得分:4)
对于许多人来说这个问题很糟糕,但很多答案也同样糟糕:使用XML解析器,这就是为什么,讨论的结束。
对我来说,在stackoverflow上提出问题的重点是获得一个解决方案。我们是否为OP提供了解决方案?不完全的。
更完整的答案将提供有关如何解析xml的一些示例。这是一些;
Can you provide an example of parsing HTML with your favorite parser?
答案 1 :(得分:3)
如果您的问题是编译XML库,您可以尝试XML::Parser::Lite或XML::Parser::PurePerl这些纯粹的perl模块,不需要编译。
或者,您可能能够找到非纯perl库的预编译包。你在用什么操作系统?
答案 2 :(得分:2)
请{@ 3}}改为使用XML解析器。
至少你可以编写一个简单的基于有限状态机的解析器来处理你的XML。这样做非常简单。
答案 3 :(得分:1)
一种方法是在解析之前去除注释行。
$string =~ s/<!--.*?-->//gs;