Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2006, 11h40   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
Par défaut [SimpleXML] Lecture d'un fichier pour une intégration dans une BDD

Bonjour,

Je voudrais avoir des infos sur la possibilité de travailler en PHP sur l'extraction d'informations contenu dans un fichier XML pour les intégrer dans une base de données MySQL.

Le site est héberger chez free.fr, je n'ai donc pas accès aux différentes bibliothèques.

De plus le fichier XML que je dois reformater pour intégrer son contenu dans la base de données est téléchargé à partir d'un autre site. Je ne peux donc pas changer ce fichier.

Voici un exemple de la structure du fichier XML qui contient des informations sur un licencié :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <arrayList xsi:type="java:java.util.ArrayList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <licencie 
         lnlic="xxxxxxxx" 
         lnomlic="NOM PRENOM" 
         datnai="02-10-1990" l
         typlic="Volley-Ball" 
         ljd="Joueur" 
         lcodcat="Cadet" 
         lnat="Française" 
         lnclub="xxxxxxxx" 
         lnligue="02" 
         lcodsur="" 
         ldsurcla="" 
         lsexlic="Féminin" 
         ladrlic1="" 
         ladrlic2="ADRESSE" 
         ladrlic3="" 
         ladrlic4="VILLE" 
         lpostlic="44444" 
         lcodlic1="Renouvellement" 
         ldhomol1="12-09-2006" 
         larbi="" 
         lstatut="" 
/>
Je dois donc pouvoir intégrer tout cela pour chaque joueur dans la base.

Je vous remercie pour ces quelques pistes que vous pourriez me fournir !

Eric
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 13h26   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Sur free, tu renommes ton fichier en .php5 et tu tournes avec PHP5
Et avec PHP5 tu as SimpleXML pour manipuler des arbres xml :
http://php.net/simplexml

__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 13h53   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
Merci.

Ajouter php5 au lieu de php me permet effecttivement d'utiliser SimpleXML.

Cependant, je ne parviens pas à avoir accès aux données de chaque champ.
Comment par exemple récupérer tous les lnlic de chaque balise <licencie> ?
Code :
1
2
3
4
5
 
<licencie 
         lnlic="xxxxxxxx" 
         lnomlic="NOM PRENOM" 
         datnai="02-10-1990" l
Le ficheir source est il aux normes XML ?
moi je dois récupérer les valeurs de chaque champ intégré dans le licencie !!
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 13h56   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
La réponse à ta question est dans la doc que je t'ai donné
Citation:
Envoyé par Exemple 4. Utilisation des attributs
L'accès aux attributs d'un élément se fait de la même façon que l'accès aux éléments d'un tableau.
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 14h34   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
Je suis désolé, j'avais bien vu ce paragraphe, seulement même avec cet exemple, je n'y parviens pas.

Dans <licence> j'ai effectivement des attributs, mais ils ne sont pas encadrés par d'autres balises, mais directement dans le licence lui -même.

VOici mon code pour récupérer tous les numéros de licences :
Code :
1
2
3
4
5
6
7
 
	$xml = simplexml_load_file($file); 
	//var_dump($tableau);
	foreach ($xml->licencie as $licencie) 
	{
	   echo 'Licence : ', $licencie->lnlic, '<br />';
	}
En tout cas cela ne fonctionne. J'ai bien affiché le bon nombre de licenciés, mais sans leur numéro.
$licence->lnlic ne lit donc rien dans le fichier xml.

Si je fais un var-dump, j'ai bien toutes les informations d'affichées pourtant !

Merci
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 14h37   #6
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Est-ce que tu accèdes habituellement aux éléments d'un tableau en te servant de '->' ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 14h40   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 91
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 91
Points : 11
Points : 11
OUPS désolé je n'ai rien dit j'ai trouvé.

Merci
nerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h42.


 
 
 
 
Partenaires

Hébergement Web