#!/perl/bin/perl use strict; use CGI qw/:standard/; use CGI::Carp qw(fatalsToBrowser); use XML::XPath; use XML::XPath::XMLParser; print header(); my $xp = XML::XPath->new(filename => 'test_x.xml'); foreach my $row ($xp->findnodes('/HOME/Trans')) { # extract from the XML my $trans = $row->find('//@ID')->string_value; my $cert = $row->find('Cert')->string_value; my $cert = $row->find('/AD/@XREF')->string_value; my $fname = $row->find('AD/FName')->string_value; my $lname = $row->find('AD/LName')->string_value; my $bdate = $row->find('AD/BDate')->string_value; my $no = $row->find('AD/No')->string_value; my $state = $row->find('AD/State')->string_value; my $ssss = $row->find('AD/SSSS')->string_value; my $train = $row->find('AD/Train')->string_value; my $volume = $row->find('AD/Volume')->string_value; my $cno = $row->find('AD/CNo')->string_value; my $id = $row->find('AD/ID')->string_value; print "1-$trans - 2-$cert - 3-$cert - 4-$fname - 5-$lname - 6-$bdate - 7-$no - 8-$state - 9-$ssss - 10-$train - 11-$volume - 12-$cno - 13-$id\n"; } =comment test_x.xml 8280164754 Joe Frost 19650420 X0000000 RI 19980401 07 N N MARY FROST 19861107 Y0000000 NY 20030824 00 Y 153 WC204338 N 111 =cut