Essayez le LOAD XML fonction (MySQL 6.0). Voici l'exemple de code du manuel de référence :
Utiliser un document XML person.xml contenant :
<?xml version="1.0"?>
<list>
<person person_id="1" fname="Pekka" lname="Nousiainen"/>
<person person_id="2" fname="Jonas" lname="Oreland"/>
<person person_id="3"><fname>Mikael</fname><lname>Ronström</lname></person>
<person person_id="4"><fname>Lars</fname><lname>Thalmann</lname></person>
<person><field name="person_id">5</field><field name="fname">Tomas</field><field name="lname">Ulin</field></person>
<person><field name="person_id">6</field><field name="fname">Martin</field><field name="lname">Sköld</field></person>
</list>
vous créeriez un tableau comme ceci :
CREATE TABLE person (
person_id INT NOT NULL PRIMARY KEY,
fname VARCHAR(40) NULL,
lname VARCHAR(40) NULL,
created TIMESTAMP
);
et utilisez la commande suivante pour importer le XML :
LOAD XML LOCAL INFILE 'person.xml'
INTO TABLE person
ROWS IDENTIFIED BY '<person>';
Ou si vous utilisez MySQL 5.0, vous pouvez utiliser LOAD_FILE pour charger le document XML entier sous forme de chaîne dans une seule colonne, puis l'analyser à l'aide de la fonctionnalité XPath de MySQL.
Cet article sur MySQL.com contient plus de détails :Utiliser XML dans MySQL 5.1 et 6.0 .