Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1754790
  • 博文数量: 787
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-22 15:17
文章分类

全部博文(787)

文章存档

2008年(787)

我的朋友

分类:

2008-09-25 16:06:39

一小段代码:
#!/usr/local/bin/perl
use XML::Parser;  
my $parser = new XML::Parser;
$data=$parser->parsefile(‘data.xml’);
$parser->setHandlers( Start => \&startElement,   
                End => \&endElement,
                Char => \&characterData,         
                Default => \&default);
sub startElement {
my( $parseinst, $element, %attrs ) = @_;
SWITCH: {
if ($element eq "article") {
$count++;
$tag = "article";
print "Article $count:\n";
last SWITCH;
}
if ($element eq "title") {
print "Title: ";
$tag = "title";
last SWITCH;
}
.......................
.......................

这里调用了构造函数new,那么函数将返回一个引用(对象),该引用跟data.xml作为parsefil的两个参数,parsefileile函数的作用在这里到底是什么??我想是不是把xml文件数据赋给即对象?

然后是自定义的几个函数,例如 startElement ,其参数有$parseinst,它应该是$parser 把,但实际代码中没出现它,而仅仅是$element,所以我想问这个参数$parser 有实际意义么? 我想肯定有,因为调用包XML::Parser里面的方法(函数)时,函数的第一个参数有种情况(虚方法)是对象,但怎么体现了,      
--------------------next---------------------

阅读(494) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~