Salut à tous,

J'aimerai faire la chose suivante :

Je parse un fichier XML , pour chaque tour de boucle j'obtiens :
- La balise mère
- Les balises filles
- Les valeurs des balises filles

Même si le nom n'est pas le même dans la BD voici ce que chaque balise représentent :

-La balise mère correspond a une table en BD
-Les balises filles au nom des colonnes que je compte remplir
-Les valeurs des balises filles correspondent au valeurs de l'enregistrement que je veux insérer.

Le but sera évidement d'alimenter la base avec ce fichier XML.

Alors au départ voila ce que sur quoi j'étais parti :
Je créer une classe ( contenu statique ) contenant pour chaque table :
Un tableau avec
- Le nom de la table associée en base sous l'index 'TABLE'
- Le nom des attributs en base sous l'index du nom des balises filles

Voici l'exemple sans doute plus parlant : Je voudrais inserer une instance de Input a partir des données suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<INPUTS>
            <TYPE>Keyboard</TYPE>
            <MANUFACTURER />
            <CAPTION>Étendu (101 ou 102 touches)</CAPTION>
            <DESCRIPTION>Standard PS/2 Keyboard</DESCRIPTION>
            <INTERFACE />
            <POINTTYPE />
</INPUTS>
Dans ma classe statique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
public static $INPUTS = array('TYPE'=>'type', 'MANUFACTER'=>'marque', 'DESCRIPTION'=>'description', 'INTERFACE'=>'interface', 'POINTTYPE'=>'pointeur_type') ;

Le souci c'est que je viens de voir comment Doctrine créée un enregistrement : Du coup je ne sais pas du tout comment adapter mon code qui se voudra générique afin d'insérer indifféremment une instance Input ou Ordinateur ou etc .....

Si l'un de vous a une idée, solution, ou connait un autre moyen d'insérer en base de manière plus adaptée.
Merci d'avance