"Johnny Yu" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
> hello.
>
> i am new with perl and working on a program to sort and manage my dvds
> instead of using windows program.  i export the windows data using built
in
> function to make it xml, how can i read this with perl so i can put in
> mysql?  i try xml::simple but it doesn't work.  can someone show me
example
> program?  i know how to do the mysql part.
>
> this is what xml output looks like:
>
<snip />

Heres your program. You need to install and STUDY THE DOCS for XML::XPath
and DBI:

use warnings;
use strict;

use XML::XPath;
# use DBI;

my $xp = XML::XPath->new( xml => join( '', <DATA> ) );

#my $dbh = DBI->connect( ... );
#my $sql = 'INSERT INTO dvds (?, ?, ?, ?)';
#my $sth = $dbh->prepare( $sql );

my $entries = $xp->find('DVDListXML/playlist/entry');

foreach my $node ( $entries->get_nodelist ) {
  my $Infostring = $xp->findvalue('./@Infostring', $node);
  my $Name       = $xp->findvalue('Name', $node);
  my $Genre      = $xp->findvalue('Genre', $node);
  my $Runtime    = $xp->findvalue('Runtime', $node);

#  $sth->execute( $Infostring, $Name, $Genre, $Runtime );

  print(       'Name: ',    $Name,        "\n" );
  print( "\t", 'Info: ',    'http://...', "\n" ); # $Infostring
  print( "\t", 'Genre: ',   $Genre,       "\n" );
  print( "\t", 'Runtime: ', $Runtime,     "\n" );
}

__DATA__
<?xml version="1.0" encoding='UTF-8' standalone="yes"?>
<DVDListXML>
   <playlist num_entries="3" label="DVDs">
    <entry
Infostring="http://a9.com/Star%20Wars:%20Episode%20IV%20-%20A%20New%20Hope?i
mdbid=tt0076759">
     <Name>Star Wars: Episode IV - A New Hope</Name>
     <Genre>Science Fiction</Genre>
     <Runtime>121</Runtime>
    </entry>
    <entry
Infostring="http://a9.com/Star%20Wars:%20Episode%20V%20-%20The%20Empire%20St
rikes%20Back%20(1980)?imdbid=tt0080684">
     <Name>Star Wars: Episode V - The Empire Strikes Back</Name>
     <Genre>Science Fiction</Genre>
     <Runtime>128</Runtime>
    </entry>
    <entry
Infostring="http://a9.com/Star%20Wars:%20Episode%20VI%20-%20Return%20of%20th
e%20Jedi?imdbid=tt0086190">
     <Name>Star Wars: Episode VI - Return of the Jedi</Name>
     <Genre>Science Fiction</Genre>
     <Runtime>134</Runtime>
    </entry>
  </playlist>
</DVDListXML>

Heres the output:
C:\waveright\home\trwww\misc>perl movies.pl
Name: Star Wars: Episode IV - A New Hope
        Info: http://...
        Genre: Science Fiction
        Runtime: 121
Name: Star Wars: Episode V - The Empire Strikes Back
        Info: http://...
        Genre: Science Fiction
        Runtime: 128
Name: Star Wars: Episode VI - Return of the Jedi
        Info: http://...
        Genre: Science Fiction
        Runtime: 134

Have fun,

Todd W.



-- 
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