toolshed
10-06-2004, 04:14 PM
I have a question on an xml and simple xml.
I want to know why I get the <anon> flag.
#!/usr/bin/perl
# use module
use XML::Simple;
use Data::Dumper;
use strict;
use warnings;
#default category xml
our $CAT_XML_FILE = "categories.xml";
#write data to file
sub writeCatXML($) {
# create object
my @array = shift;
my $xml = new XML::Simple (NoAttr=>1, ForceArray =>1,RootName=>'CATEGORIES');
# convert Perl array ref into XML document $data =
my $data =$ xml->XMLout(@array);
# access XML data
print Dumper($data);
#write data it was been placed in xml form
}
#main test
# create array
my @arr = {'CATEGORY' => [
{
'CAT_ID' => '2',
'CAT_NAME' => 'network',
'CAT_TEXT' => 'network ****'
},
{
'CAT_ID' => '3',
'CAT_NAME' => 'office',
'CAT_TEXT' => 'word ****'
}]};
#writeCatXML(\@arr);
writeCatXML(\@arr);
You see I dont want the <anon> element below. Everything else looks great in the xml, except that <anon>.
It has something to do with the array, but cannot find a reason.
$perl CategoriesWriterXML.plx
$VAR1 = '<CATEGORIES>
<anon>
<CATEGORY>
<CAT_ID>2</CAT_ID>
<CAT_NAME>network</CAT_NAME>
<CAT_TEXT>network ****</CAT_TEXT>
</CATEGORY>
<CATEGORY>
<CAT_ID>3</CAT_ID>
<CAT_NAME>office</CAT_NAME>
<CAT_TEXT>word ****</CAT_TEXT>
</CATEGORY>
</anon>
</CATEGORIES>
';
Just a perl newbie, any help i appreciate.
I want to know why I get the <anon> flag.
#!/usr/bin/perl
# use module
use XML::Simple;
use Data::Dumper;
use strict;
use warnings;
#default category xml
our $CAT_XML_FILE = "categories.xml";
#write data to file
sub writeCatXML($) {
# create object
my @array = shift;
my $xml = new XML::Simple (NoAttr=>1, ForceArray =>1,RootName=>'CATEGORIES');
# convert Perl array ref into XML document $data =
my $data =$ xml->XMLout(@array);
# access XML data
print Dumper($data);
#write data it was been placed in xml form
}
#main test
# create array
my @arr = {'CATEGORY' => [
{
'CAT_ID' => '2',
'CAT_NAME' => 'network',
'CAT_TEXT' => 'network ****'
},
{
'CAT_ID' => '3',
'CAT_NAME' => 'office',
'CAT_TEXT' => 'word ****'
}]};
#writeCatXML(\@arr);
writeCatXML(\@arr);
You see I dont want the <anon> element below. Everything else looks great in the xml, except that <anon>.
It has something to do with the array, but cannot find a reason.
$perl CategoriesWriterXML.plx
$VAR1 = '<CATEGORIES>
<anon>
<CATEGORY>
<CAT_ID>2</CAT_ID>
<CAT_NAME>network</CAT_NAME>
<CAT_TEXT>network ****</CAT_TEXT>
</CATEGORY>
<CATEGORY>
<CAT_ID>3</CAT_ID>
<CAT_NAME>office</CAT_NAME>
<CAT_TEXT>word ****</CAT_TEXT>
</CATEGORY>
</anon>
</CATEGORIES>
';
Just a perl newbie, any help i appreciate.