XMLreader : comment sortir les résultats valeur par valeur
9 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
XMLreader : comment sortir les résultats valeur par valeur
Bonjour à tous
Comme bien souvent , je fais appel aux compétences des membres de webrankinfo qui m'aident a chaque fois beaucoup dans la résolution de mes soucis .
Alors voila je traite un gros flux xml avec XMLreader , pour tout ce qui est lecture ca fonctionne parfaitement .
Ceci dit j'aimerai récupérer valeur par valeur en mettant chaque valeur dans une variable et ainsi inserer tout ca dans ma base de données mais la je sèche j'ai essayé 36 trucs et je suis arrivé a rien .
Voici le code de lecture qui fonctionne a merveille mais qui m'affiche les résutlats en 1 bloc :
Noton que le "type==3" est le noeud numéro 3 qui contient ce qui m'interesse pour l'inserer dans ma base .
Mais en faisant un if($type==3) ben forcement ca me renvoi dans la variable $valeur l'intégralité d'un enregistrement et il faut dispacher cet enregistrement .
La valeur me renvoie ca :
Et donc chaque ligne doit valoir une variable , par exemple la premiere ligne "1088860" doit aller dans une variable qu'on appelera ID et ainsi de suite pour les autres lignes .
Avez une solution ?
Merci
Max
Comme bien souvent , je fais appel aux compétences des membres de webrankinfo qui m'aident a chaque fois beaucoup dans la résolution de mes soucis .
Alors voila je traite un gros flux xml avec XMLreader , pour tout ce qui est lecture ca fonctionne parfaitement .
Ceci dit j'aimerai récupérer valeur par valeur en mettant chaque valeur dans une variable et ainsi inserer tout ca dans ma base de données mais la je sèche j'ai essayé 36 trucs et je suis arrivé a rien .
Voici le code de lecture qui fonctionne a merveille mais qui m'affiche les résutlats en 1 bloc :
- Code: Tout sélectionner
<?php
$xmlReader = new XMLReader();
$xmlReader->open('wmt_sejours.xml');
echo '<sejour>';
while ($xmlReader->read())
{
$nom = utf8_decode($xmlReader->name);
$valeur = utf8_decode($xmlReader->value);
$type = utf8_decode($xmlReader->nodeType);
if ($type==3)
{
echo "$valeur<br>";
}
}
echo '</sejour>';
$xmlReader->close();
?>
Noton que le "type==3" est le noeud numéro 3 qui contient ce qui m'interesse pour l'inserer dans ma base .
Mais en faisant un if($type==3) ben forcement ca me renvoi dans la variable $valeur l'intégralité d'un enregistrement et il faut dispacher cet enregistrement .
La valeur me renvoie ca :
- Code: Tout sélectionner
1088860
Séjour
Tunisie
Houmt Souk
1299
Hotel Sun Club 3*
3
125216
Pension complète / all inclusive
TN
8J/7N - AI SUN CLUB 3*+CM4J
Départ de MARSEILLE - MARSEILLE - DJERBA A/R - VOLS+HOTEL 3*+TOUT INCLUS+CURE
539
1 semaine environ
Marseille
MRS
DESCRIPTION ....
Et donc chaque ligne doit valoir une variable , par exemple la premiere ligne "1088860" doit aller dans une variable qu'on appelera ID et ainsi de suite pour les autres lignes .
Avez une solution ?
Merci
Max
tiens, j'ai fait une moulinette d import / export de BDD dans ce style, par contre le fichier que je génère a plutot cette forme :
enregistrement
champ1_de_ma_table
valeur
champ2_de_ma_table
valeur valeur
valeur valeur valeur
valeur
champ3_de_ma_table
...
enregistrement
champ1_de_ma_table
valeur
champ2_de_ma_table
valeur valeur
valeur valeur valeur
valeur
champ3_de_ma_table
...
le fichier que tu reçois ne peut pas être modifié ?
enregistrement
champ1_de_ma_table
valeur
champ2_de_ma_table
valeur valeur
valeur valeur valeur
valeur
champ3_de_ma_table
...
enregistrement
champ1_de_ma_table
valeur
champ2_de_ma_table
valeur valeur
valeur valeur valeur
valeur
champ3_de_ma_table
...
le fichier que tu reçois ne peut pas être modifié ?
Et non , en plus il fait 500Mo lol
La mimolette dont tu parles je l'ai essayé avec des switch case mais rien a faire ...
Dois falloir trouver le jeu de boucle adequate
Moulinette pardon
La mimolette dont tu parles je l'ai essayé avec des switch case mais rien a faire ...
Dois falloir trouver le jeu de boucle adequate
Moulinette pardon
Dernière édition par max6 le Ven Mar 30, 2007 13:35, édité 1 fois.
Oui tout a fait
Surout que les description sont ENORME .
Et que avant d'inserer quoi que ce soit dans ma base , je dois tdabbord faire plusieurs select/update et ensuite inserer .
En fait j'ai utilisé simplexml mais rien a faire le fichier est bien trop gros alors je me suis tourné vers ce lecteur .
Il faut impérativement que j'arrive a tirer de ce lecteur des variables pour chaque champs .
Surout que les description sont ENORME .
Et que avant d'inserer quoi que ce soit dans ma base , je dois tdabbord faire plusieurs select/update et ensuite inserer .
En fait j'ai utilisé simplexml mais rien a faire le fichier est bien trop gros alors je me suis tourné vers ce lecteur .
Il faut impérativement que j'arrive a tirer de ce lecteur des variables pour chaque champs .
Je galere ca marche vraiment pas et les résultats attendus c'et vraiment pas ca .
Au passage qu'est ce qui pourrait faire bloquer SImplexml sur mon serveur pour la lecture d'un gros flux ? (parcque c quand meme plus simple comme lecteur)
Au passage qu'est ce qui pourrait faire bloquer SImplexml sur mon serveur pour la lecture d'un gros flux ? (parcque c quand meme plus simple comme lecteur)
salut,
j'ai un bout de code en XMLReader si ca peux te donner des idées, celui-ci parse un fichier xml déjà costaud
j'ai un bout de code en XMLReader si ca peux te donner des idées, celui-ci parse un fichier xml déjà costaud
- Code: Tout sélectionner
$reader = new XMLReader();
$reader->open( $fichier );
while( $reader->read() ) {
switch ($reader->nodeType) {
case (XMLREADER::ELEMENT):
switch( $reader->localName ) {
case "CATALOGUE" :
break;
case "BOUTIQUE" :
break;
case "RAYON" :
$reader->getAttribute( "nom" );
break;
case "REFERENCE":
$reader->read();
$code = $reader->value;
break;
case "DESIGNATION" :
$reader->read();
break;
case "DESCRIPTION" :
$reader->read();
break;
case "MARQUE" :
$reader->read();
break;
case "PRIX" :
$reader->read();
break;
}
break;
CASE (XMLREADER::END_ELEMENT) :
if( $reader->localName == "PRODUIT" ) {
}
break;
}
}
9 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Combien vaut un lien ?
- Classement Interbrand 2006 : la percée de Google
- Google souhaite lever plus de 2 milliards de dollars
- Les deux échelles du PageRank
- Les 2 échelles de PageRank : toolbar et DMOZ
- La balise meta NOYDIR de Yahoo
- 50 000 messages et 4 000 membres sur WebRankInfo !
- Connaitre son PageRank sans la Google Toolbar...
- Google Music Trends
- Les redirections 301 passent-elles encore le contexte sémantique ?
- réécrire des urls /index.php?page=$valeur en /valeur
- valeur d'un BL PR6
- Valeur de la variable HTTP_USER_AGENT
- valeur d'un site
- valeur de ces NDD
- Recuperation valeur apres le ?
- Valeur de cache et dates
- valeur (php) et checkbox
- pagerank et valeur du checksum
- 5 PR de 5, 5 PR de 6 et 1 PR de 7 : quelle valeur selon vous
- valeur d'un nom de domaine en .re
- Valeur d'un nom de domaine
- Récupérer valeur champ en javascript
- Récuperer la valeur du mot clé
- Le Dollar pourrait perdre 90% de sa valeur
Consultez la description détaillée des produits ou services de Google suivants : Google Toolbar, Google Website Optimizer
- Trouver la position de son site dans Google
Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Google, pour certains mots-clés recherchés. - Trouver la position de son site dans Yahoo
Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Yahoo, pour certains mots-clés recherchés. - Analyse de positionnement sur les data centers de Google
Cet outil vous permet d'afficher sur une seule page les résultats Google effectués sur de nombreux data centers (centres de données).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités






le forum