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: beginners@perl.org
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>


Reply via email to