- 论坛徽章:
- 0
|
我刚学perl,使用XML::Generator模块写了一段perl脚本,如下:
#!/usr/bin/perl
# generator.pl
use warnings;
use strict;
use XML::Generator;
my ($xml, $output);
$xml = new XML::Generator ('conformance' => 'strict', 'escape' => 'always', 'pretty' => 2);
$output = $xml->function ({ 'funcname' => 'acl_black_list', 'mode' => 'predefined','no' => 'no'},
$xml->task_name('20130502152226_815403777'),
$xml->device(
$xml->device_name ('202.197.12.200'),
$xml->interface_name('GigabitEthernet0/0/2'),
$xml->host(
$xml->ip('192.168.45.115'),
$xml->mask('255.255.255.0')
)
)
);
print $xml->xmldecl, "\n$output";
exit (0);
生成的结果如下:
<?xml version="1.0" standalone="yes"?>
<function funcname="acl_black_list" mode="predefined" no="no">
<task_name>20130502152226_815403777</task_name>
<device>
<device_name>202.197.12.200</device_name>
<interface_name>GigabitEthernet0/0/2</interface_name>
<host>
<ip>192.168.45.115</ip>
<mask>255.255.255.0</mask>
</host>
</device>
</function>
但我想要的结果是:
<?xml version="1.0" encoding="GBK"?>
<function funcname="acl_black_list" mode="predefined" no="no">
<task_name>20130502152226_815403777</task_name>
<device>
<device_name>202.197.12.200</device_name>
<interface_name>GigabitEthernet0/0/2</interface_name>
<host>
<ip>192.168.45.115</ip>
<mask>255.255.255.0</mask>
</host>
</device>
</function>
区别就在头部:如何将standalone="yes"改成encoding="GBK",请各位大侠赐教!
|
|