J'ai une base de donnée en format xml et je voudrais transferer ces donnees vers une base de donnee mysql.
Pour cela, j'ai utiliser simplexml_load_file en php, voici mon script :
<?php
require_once ("../classes/Sa.php");
Sa::connect();
$articles_xml = simplexml_load_file('xmltest.xml');
foreach ($poissons_xml->poisson as $poisson) {
print "Nom de l'article: {$poisson->NomScientifique} <br />\n";
print "Id de l'article: {$poisson->Famille} <hr />\n";
mysql_query("INSERT INTO poisson
SET NomScientifique='".($poisson->NomScientifique)."'
AND Famille='".($poisson->Famille)."'
AND Descripteur='".($poisson->Descripteur)."'
AND TempMin='".($poisson->TempMin)."'
AND TailleMale='".($poisson->TailleMale)."'
AND TailleFemelle='".($poisson->TailleFemelle)."'
AND Description='".($poisson->Description)."'
AND Dimorphisme='".($poisson->Dimorphisme)."'
AND Comportement='".($poisson->Comportement)."'
AND Reproduction='".($poisson->Reproduction)."'") or die("Erreur MySQL : ".mysql_error());
}
?>
voici egalement un extrait de mon fichier xml :
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<poissons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.aquabase.org/poisson.xsd">
<poisson>
<NomScientifique>Abramites hypselonotus</NomScientifique>
<NomCommuns>
<NomCommun>abramites marbré</NomCommun>
<NomCommun>characin brème</NomCommun>
<NomCommun>Characin-brème</NomCommun>
<NomCommun>ecrire=rediger</NomCommun>
</NomCommuns>
<Famille>Anostomidés</Famille>
<Descripteur>Günther, 1868</Descripteur>
<Temperature>
<TempMin>23</TempMin>
<TempMax>27</TempMax>
<TempRepro>0</TempRepro>
</Temperature>
<Acidite>
<PHMin>6.0</PHMin>
<PHMax>7.5</PHMax>
<PHRepro>0.0</PHRepro>
</Acidite>
<Durete>
<GHMin>4</GHMin>
<GHMax>15</GHMax>
<GHRepro>0</GHRepro>
</Durete>
<Taille>
<TailleMale>15.0</TailleMale>
<TailleFemelle>14.0</TailleFemelle>
</Taille>
<EsperanceVie/>
<ZoneDeVie>Milieu & Inférieure</ZoneDeVie>
<Origine>Amérique du Sud. Bassins de l'Amazone, de l'Orénoque, du Paraguay et du Parana.</Origine>
<Description>Corps allongé, plat, museau pointu. Nageoires avec un bord jaune vif.</Description>
<Dimorphisme/>
<Comportement>Farouche, bon sauteur, vit en petit banc.
Végétarien, se nourrit avec des épinards ou de la salade.
Devient agressif avec l'âge.</Comportement>
<Reproduction>Aucune en captivité.</Reproduction>
</poisson>
</poissons>
en executant ce scritp, j'obtient ces erreurs :
PHP Warning: simplexml_load_file(): I/O warning : failed to load external entity "xmltest.xml" in /var/www/easywater/scripts/xml.php on line 5
PHP Notice: Undefined variable: poissons_xml in /var/www/easywater/scripts/xml.php on line 6
PHP Notice: Trying to get property of non-object in /var/www/easywater/scripts/xml.php on line 6
PHP Warning: Invalid argument supplied for foreach() in /var/www/easywater/scripts/xml.php on line 6
J'ajoute, que j'ai essayer d'importer directement mon fichier xml via phpmyadmin sans succes et que je suis ouvert a toute autre proposition pour transferer mes donnees...