The data structure is little more complicated than list of hashes due to the
attributes in XML.
Here is an updated version of your perl code.
#use modules
use XML::Simple;
use Data::Dumper;
# create object
$xml = new XML::Simple (KeyAttr=>[]);
# read XML file
$data=
$xml->XMLin("C:\\temp\\input.xml");
# dereference hash reference
# access <dataschemas> array
print "before loop ...\n";
foreach $d (@{$data->{dataschema}->{includes}->{include}}) {
print "in \$d loop ...\n";
print $d->{name}, "\n";
}
print "finished\n";
with warm regards,
Venkat Saranathan
Gulf Breeze Software
www.gulfsoft.com
GulfBreeze Blog
www.gulfsoft.com/blog
-----Original Message-----
From: brian bwarn [mailto:[EMAIL PROTECTED]
Sent: Monday, July 24, 2006 6:00 PM
To: [email protected]
Subject: XML::Simple -- can't get anything to print from array
I'm just starting out with XML::Simple and can't get
any output to display to STDOUT. What am I missing?
-------------------
Source XML snippet:
-------------------
<dataschemas>
<dataschema name="defaultDB">
<includes>
<include name="Base Metadata"/>
<include name="Extracted Re-Map"/>
</includes>
<attributes>
<attribute category="" parser="TextParser"
extract="true" segmentation="soft"/>
</attributes>
</dataschema>
</dataschemas>
---------------
Perl code:
----------------
# use modules
use XML::Simple;
use Data::Dumper;
# create object
$xml = new XML::Simple (KeyAttr=>[]);
# read XML file
$data=
$xml->XMLin("C:\datafiles\specialIncludes.xml");
# dereference hash reference
# access <dataschemas> array
print "before loop ...\n";
foreach $d (@{$data->{dataschema}}) {
print "in \$d loop ...\n";
print "dataschema is: ", $d->{includes}->{name},
"\n";
}
print "finished\n";
---------------
Output:
---------------
before loop ...
finished
Thanks, BW
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>