LinuxÒÁµéÔ°ÂÛ̳'s Archiver

drosophilia ·¢±íÓÚ 2008-5-6 21:21

xml½âÎöµÄÒ»¸öÎÊÌâÇó½Ì

һС¶Î´úÂ룺
#!/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º¯ÊýµÄ×÷ÓÃÔÚÕâÀïµ½µ×ÊÇʲô£¿£¿ÎÒÏëÊDz»ÊǰÑxmlÎļþÊý¾Ý¸³¸ø¼´¶ÔÏó£¿

È»ºóÊÇ×Ô¶¨ÒåµÄ¼¸¸öº¯Êý£¬ÀýÈç startElement £¬Æä²ÎÊýÓÐ$parseinst£¬ËüÓ¦¸ÃÊÇ$parser °Ñ£¬µ«Êµ¼Ê´úÂëÖÐû³öÏÖËü£¬¶ø½ö½öÊÇ$element£¬ËùÒÔÎÒÏëÎÊÕâ¸ö²ÎÊý$parser ÓÐʵ¼ÊÒâÒåô£¿ ÎÒÏë¿Ï¶¨ÓУ¬ÒòΪµ÷ÓðüXML::ParserÀïÃæµÄ·½·¨£¨º¯Êý£©Ê±£¬º¯ÊýµÄµÚÒ»¸ö²ÎÊýÓÐÖÖÇé¿ö£¨Ðé·½·¨£©ÊǶÔÏ󣬵«ÔõôÌåÏÖÁË£¬

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.