Perl XML::Simple 的应用(二)

使用XML建立图书信息管理表books.xml

tiger506@darkstar:~/Program/Perl$ cat ./books.xml 
<bookstore>
       <book>
               <category>COOKING</category>
               <lang>en</lang>
               <title>Everyday Italian</title>
               <author>Giada De Laurentiis</author>
               <year>2005</year>
               <price>30.00</price>
       </book>
       <book>
               <category>CHILDREN</category>
               <lang>en</lang>
               <title>Harry Potter</title>
               <author>J K. Rowling</author>
               <year>2005</year>
               <price>29.99</price>
       </book>
       <book>
               <category>WEB</category>
               <lang>en</lang>
               <title>Learning XML</title>
               <author>Erik T. Ray</author>
               <year>2003</year>
               <price>39.95</price>
       </book>
</bookstore>


使用PERL语言编程,使图书信息格式化输出:

tiger506@darkstar:~/Program/Perl$ cat ./pbooks.pl
#!/usr/bin/perl
use XML::Simple;
use Data::Dumper;
my $xml_book="/home/tiger506/Program/Perl//books.xml";
my $book_info=XMLin($xml_book);
print Dumper($book_info); #查看翻译过来的图书数据结构
for($i=0;$i<3;$i++){
       print "------------------------------------------------\n";
       print "TITLE: ".$book_info->{book}->[$i]->{title}."\n";
       print "LANG: ".$book_info->{book}->[$i]->{lang}."\n";
       print "AUTHOR ".$book_info->{book}->[$i]->{author}."\n";
       print "CATEGORY ".$book_info->{book}->[$i]->{category}."\n";
       print "PRICE ".$book_info->{book}->[$i]->{price}."\n";
       print "YEAR ".$book_info->{book}->[$i]->{year}."\n";
       print "------------------------------------------------\n";
}


结果演示:

tiger506@darkstar:~/Program/Perl$ ./pbooks.pl
$VAR1 = {
         'book' => [
                   {
                     'lang' => 'en',
                     'price' => '30.00',
                     'author' => 'Giada De Laurentiis',
                     'title' => 'Everyday Italian',
                     'category' => 'COOKING',
                     'year' => '2005'
                   },
                   {
                     'lang' => 'en',
                     'price' => '29.99',
                     'author' => 'J K. Rowling',
                     'title' => 'Harry Potter',
                     'category' => 'CHILDREN',
                     'year' => '2005'
                   },
                   {
                     'lang' => 'en',
                     'price' => '39.95',
                     'author' => 'Erik T. Ray',
                     'title' => 'Learning XML',
                     'category' => 'WEB',
                     'year' => '2003'
                   }
                 ]
       };
------------------------------------------------
TITLE: Everyday Italian
LANG: en
AUTHOR Giada De Laurentiis
CATEGORY COOKING
PRICE 30.00
YEAR 2005
------------------------------------------------
------------------------------------------------
TITLE: Harry Potter
LANG: en
AUTHOR J K. Rowling
CATEGORY CHILDREN
PRICE 29.99
YEAR 2005
------------------------------------------------
------------------------------------------------
TITLE: Learning XML
LANG: en
AUTHOR Erik T. Ray
CATEGORY WEB
PRICE 39.95
YEAR 2003
------------------------------------------------





本文转自 tiger506 51CTO博客,原文链接:http://blog.51cto.com/tiger506/1341744,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值