|
|
|
#*****************************************************************#
# ALLGEMEIN: #
# XML (mit XPath) in Datenbank importieren #
#*****************************************************************#
use strict;
use DBI;
use XML::XPath;
use XML::XPath::XMLParser;
use HTML::Entities;
# Datenbankverbindung herstellen
my $dbh =
DBI->connect( "DBI:mysql:database", "username",
"password", { RaiseError => 1, PrintError => 0 } );
# XML-Datei lesen
my $xp = XML::XPath->new (filename => 'datei.xml');
# Datenebene suchen
my $nodelist = $xp->find ("/Section/Output");
# Datenebene enthält Attribut "Name" und Element "Data"
foreach my $row ($nodelist->get_nodelist ())
{
my $NAME = $row->find ('@Name')->string_value ();
my $DATA = $row->find ('Data')->string_value ();
# Sonderzeichen HTML encoden
# kritische Sonderzeichen für Datenbank entschärfen
$NAME = $dbh->quote(encode_entities($NAME));
$DATA = $dbh->quote(encode_entities($DATA));
# Datensatz speichern
my $SQL = "INSERT INTO tabelle SET
name = $NAME ,
data = $DATA ";
$dbh->do ( $SQL );
}
|