随着越来越多的 Web 站点开始使用 xml 作为他们的内容,Web 开发人员知道如何解析 xml 数据并将其转换成不同的格式突显重要起来。以前有两种方法实现这一点:设计一些回调处理函数,在一个特定的元素类型被识别时这些回调处理函数被调用(SAX),或者创建一个 xml 文档树,并使用树导航方法访问单独的内容片断(DOM)。
两种方法有一个共同的要点:实现起来不易,尤其是对于 xml 新手来说更是如此。Web 开发人员真正需要的是一些能够使解析 xml 数据像遍历数组或读取文件一样简单的东西。
这就是非常有用的 Perl 模块xml::Simple 出现的原因。它消除了解析xml 数据的痛苦,使得这一过程比你能想象的还要简单。在读完这篇文章之后,你就会知道从如何将 xml 数据转换成 Perl 可用的格式以及如何根据 Perl 哈希创建 xml 文件。
安装
xml::Simple 能够解析一个 xml 文件并在以一个 Perl 哈希引用返回数据。在这个哈希中,来自原始 xml 文件的元素作为键,而它们之间的 CDATA 作为值。一旦xml::Simple 处理完一个 xml 文件,xml 文件的内容就可以使用标准 Perl 数组表示法检索。
xml::Simple 完全用 Perl 写成,它是作为xml::Parser 模块之上的一个 API 层实现的,目前由Grant McLean 维护。它捆绑在最新的 Perl 发布中,但是如果你没有最新的 Perl 发布,获取该模块的最简单的方法是从 CPAN 下载。在下载的压缩文件中提供了详细的安装说明,但是目前为上最简单的安装方法是使用 CPAN shell:
shell> perl -MCPAN -e shell
cpan> install
xml::Simple
如果使用 CPAN shell,依赖模块会被自动下载(除非你将 shell 配置为不下载依赖模块)。如果手工下载和安装这个模块,那么在安装xml::Simple 之前你可能需要先下载和安装xml::Parser 模块。这篇文章使用的xml::Simple 版本是2.12。