中国领先的IT技术网站
|
|

利用Perl解析文件用法指导

利用Perl解析XML文件的方法你是否了解,这里向大家简单介绍一下,当在Perl中使用XML时,你会有将近五百个CPAN模块可以选择,每一个都支持整合Web服务的不同方面。

作者:yanghaiyan3来源:csdn.net|2010-07-26 15:17

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


本文和大家重点讨论一下利用Perl解析XML文件, 当在Perl中使用XML时,你会有将近五百个CPAN模块可以选择,每一个都支持整合Web服务的不同方面。此外,Perl的核心库包括多个支持XML的模块。

利用Perl解析XML文件

当在Perl中使用XML时,你会有将近五百个CPAN模块可以选择,每一个都支持整合Web服务的不同方面。此外,Perl的核心库包括多个支持XML的模块。这篇文章就关注于一个最早期且涉及最频繁的核心模块:XML::Parser.

XML::解析器系列

最初的Perl解析器XML::Parser::Expat由LarryWall在几年前编写并由ClarkCooper保持延续。模块作为ExpatXMLparser的界面由JamesClark用C语言编写且已经被一些脚本语言所采用。

Perl解析XML文件中Expat是一个以事件为基础的解析器,意味着特定条件触发处理功能。例如,一个开始或结尾标记将触发适当的用户定义子程序。XML::Parser模块在Expat功能的基础上为普通应用所建构。
注意Expat在解析之前不会使XML生效且在遇到错误出现时会失效。这些限制会使XML::Parser模块速度非常之快。

XML::Parser简介

任何人都可以在Perl中编写一个XML解析器。毕竟你只是处理具有已知格式的文本。但由于XML::Parser模块是用C编写的,他比任何你可以实现的纯Perl应用要更有效的多。而且既然他已经被编写出来,你就可以把时间花在其他更有用的事情上。

XML::Parser的Expat的功能允许你定义所使用的解析器的样式。最普遍使用的样式是Tree和Stream,Tree处理XML的输入,创建含有文件中的元素和数据的成套数组,这样你就可以按照你的意愿控制这个结构。Stream将分析行为划分层级,在一个事件的开始做处理,要使用Stream,你必须在你对模块做例示并将其与描述事件出现时如何处理的子程序相关联时定义处理器。

其它样式还包括:Sub,允许你特定地对一种XML标记定义其功能。Debug,将文件显示未标准输出。Object,与Tree相似但是返回对象。你也可以通过在XML::Parser类中定义一个子类来设定一个客制样式。

小结

你对XML::Parser的Expat功能熟悉之后,你可以将其作为接触几百个可用的CPANXML模块的跳板。Perl解析XML文件时我们这里的Stream样式是唯一一个可用的XML::Parser模块中的解析类型。你可能会发现其他的会更适合你的工作任务。Perl几乎从第一个工程方案推出时就具有XML功能,不论你的需要如何,他都是一个很好的选择。

【编辑推荐】

  1. Perl解析XML文件方法指导
  2. Perl模式匹配参数使用详解
  3. 实例解析Perl多进程技术的应用
  4. 学习笔记 Perl split函数用法指导
  5. Perl多进程及其和多线程的关系解析
【责任编辑:程华权 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

用户体验要素

本书是AJAX之父的经典之作。本书用简洁的语言系统化地诠释了设计、技术和商业融合是最重要的发展趋势。全书共8章,包括关于用户体验以及为...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言