zoukankan      html  css  js  c++  java
  • perl中显示XML结构

    $ cat -n simple1.pl 显示XML的代码

    1    #!/usr/bin/perl
    2    # simple.pl
    3    use Data::Dumper;
    4    use warnings;
    5    use strict;
    6    use XML::Simple;
    7    my ($simple,$data,$date);
    8    $simple=new XML::Simple(forcearray=>1);
    9    $data=$simple->XMLin('./invoice.xml');
    10   
    11    print Dumper $data;

    其中invoice.xml为

    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE invoice SYSTEM "inXML.dtd">

    <invoice partner="Lendl's Widgets" partner_id="0000LW">
        <number>L593</number>
        <customer>
            <status>new</status>
            <name>Mike Seaver</name>
            <email>mikeseaver@mycompany.com</email>
            <address>
                <street>438 Warm Springs Boulevard</street>
                <location>Suite 127</location>
                <city>San Francisco</city>
                <state>CA</state>
                <zip>95412</zip>
                <notes>Across from the clock tower.</notes>
            </address>
        </customer>
        <date>
            <month>10</month>
            <day>27</day>
            <year>2000</year>
        </date>
        <items>
            <item>
                <part_id>R96737</part_id>
                <quantity>1</quantity>
                <description>Extra Long Titanium and Graphite Racquet</description>
                <price currency="dollars">94.99</price>
            </item>
            <item>
                <part_id>R9263</part_id>
                <quantity>1</quantity>
                <description>Super Support Cross Trainers</description>
                <price currency="dollars">57.99</price>
            </item>
        </items>
        <billing>
            <subtotal currency="dollars">152.98</subtotal>
            <tax rate="8.25" unit="percent" currency="dollars">12.62</tax>
            <total currency="dollars">165.60</total>
            <payment type="cc">
                <reference id="VISA" expiration="06/01">
                    1234 5678 9012 3456
                </reference>
                <amount currency="dollars">165.60</amount>
            </payment>
        </billing>
    </invoice>

    显示后的结构为:

    $VAR1 = {
              'number' => [
                          'L593'
                        ],
              'date' => [
                        {
                          'month' => [
                                     '10'
                                   ],
                          'day' => [
                                   '27'
                                 ],
                          'year' => [
                                    '2000'
                                  ]
                        }
                      ],
              'customer' => [
                            {
                              'email' => [
                                         'mikeseaver@mycompany.com'
                                       ],
                              'status' => [
                                          'new'
                                        ],
                              'name' => [
                                        'Mike Seaver'
                                      ],
                              'address' => [
                                           {
                                             'zip' => [
                                                      '95412'
                                                    ],
                                             'city' => [
                                                       'San Francisco'
                                                     ],
                                             'location' => [
                                                           'Suite 127'
                                                         ],
                                             'notes' => [
                                                        'Across from the clock tower.'
                                                      ],
                                             'street' => [
                                                         '438 Warm Springs Boulevard'
                                                       ],
                                             'state' => [
                                                        'CA'
                                                      ]
                                           }
                                         ]
                            }
                          ],
              'partner_id' => '0000LW',
              'billing' => [
                           {
                             'payment' => [
                                          {
                                            'amount' => [
                                                        {
                                                          'currency' => 'dollars',
                                                          'content' => '165.60'
                                                        }
                                                      ],
                                            'reference' => {
                                                           'VISA' => {
                                                                     'expiration' => '06/01',
                                                                     'content' => '
                    1234 5678 9012 3456
                '
                                                                   }
                                                         },
                                            'type' => 'cc'
                                          }
                                        ],
                             'subtotal' => [
                                           {
                                             'currency' => 'dollars',
                                             'content' => '152.98'
                                           }
                                         ],
                             'tax' => [
                                      {
                                        'currency' => 'dollars',
                                        'rate' => '8.25',
                                        'unit' => 'percent',
                                        'content' => '12.62'
                                      }
                                    ],
                             'total' => [
                                        {
                                          'currency' => 'dollars',
                                          'content' => '165.60'
                                        }
                                      ]
                           }
                         ],
              'items' => [
                         {
                           'item' => [
                                     {
                                       'part_id' => [
                                                    'R96737'
                                                  ],
                                       'quantity' => [
                                                     '1'
                                                   ],
                                       'price' => [
                                                  {
                                                    'currency' => 'dollars',
                                                    'content' => '94.99'
                                                  }
                                                ],
                                       'description' => [
                                                        'Extra Long Titanium and Graphite Racquet'
                                                      ]
                                     },
                                     {
                                       'part_id' => [
                                                    'R9263'
                                                  ],
                                       'quantity' => [
                                                     '1'
                                                   ],
                                       'price' => [
                                                  {
                                                    'currency' => 'dollars',
                                                    'content' => '57.99'
                                                  }
                                                ],
                                       'description' => [
                                                        'Super Support Cross Trainers'
                                                      ]
                                     }
                                   ]
                         }
                       ],
              'partner' => 'Lendl\'s Widgets'
            };

  • 相关阅读:
    mongoDB学习第一天之增删改查
    django使用MySQL时部分配置
    centos部署Django项目的前提工作
    pytho中pickle、json模块
    php留言板的实现
    原本就有mysql,安装phpstudy使用里面自带的mysql导致原来的没服务
    ajax向php传参数对数据库操作
    JavaScript之图片懒加载的实现
    JavaScript之点赞特效
    ci框架根据配置自动生成controller控制器和model控制器(改版本)
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2053424.html
Copyright © 2011-2022 走看看