Lecture d'un fichier XML avec un parseur
Code simple qui vous aidera à la lecture d'un fichier XML. Vous y trouverez un exemple réduit d'un fichier XML, le parseur qui sert à lire le fichier XML placé sur le serveur, et pour terminer l'apel de la fonction avec l'affichage des données du fichier XML.
Si vous désirez limiter l'entrée du flux
remplacez la ligne suivante (ligne 48)
for($i=1;$i < sizeof($tmp)-1;$i+=2)
par ces 2 lignes avec $nb qui est le nombre de champs à afficher. Attention la valeur doit etre obligatoirement impaire car le pas est de 2 et commence à 1 (1,3,5,7,9,11...)
$nb = 15; // la valeur doit etre impaire
for($i=1;$i<$nb;$i+=2)
Si vous désirez limiter l'entrée du flux
remplacez la ligne suivante (ligne 48)
for($i=1;$i < sizeof($tmp)-1;$i+=2)
par ces 2 lignes avec $nb qui est le nombre de champs à afficher. Attention la valeur doit etre obligatoirement impaire car le pas est de 2 et commence à 1 (1,3,5,7,9,11...)
$nb = 15; // la valeur doit etre impaire
for($i=1;$i<$nb;$i+=2)
|
|
Code Source
Fonctions du code
: Lit le fichier et renvoie le résultat dans un tableau - (PHP 4, PHP 5)
: Rassemble les éléments d'un tableau en une chaîne - (PHP 4, PHP 5)
: Éclate une chaîne par expression rationnelle - (PHP 4, PHP 5)
: Alias de count() - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
Commentaires
Merci beaucoup ca me sert bien ce ptit bout de code, par contre comment faire lorsque le xml contient un champ
un champ < ! [ CDATA[ 194AUT]] >
j'aimerai bein voir un exemple où il y a xml ,mysql ,javascipt
merci becoup
à me répondre
merci becoup
à me répondre
Bonjour,
Comment extraire d'un fichier XML une balise du type :
la valeur de viewCount et url de media:thumbnail ?
'channel'
'item'
'media:group'
'media:thumbnail url='http://img/1.jpg/'
'/media:group'
media:statistics viewCount='3507548'
'/item'
'/channel'
ps : pour voir le code j'ai indique des ' a la place des < et >
Comment extraire d'un fichier XML une balise du type :
la valeur de viewCount et url de media:thumbnail ?
'channel'
'item'
'media:group'
'media:thumbnail url='http://img/1.jpg/'
'/media:group'
media:statistics viewCount='3507548'
'/item'
'/channel'
ps : pour voir le code j'ai indique des ' a la place des < et >
O , je saute sur l'occasion pour ajouter du BBcode aux commentaires
C'est plus jolie la vie en BBcode!
Tu as une adresse de ton flux, ou tu peux mettre un peu plus de code pour voir le type de flux ?
Pour la lecture des flux RDF il faut utiliser un parseur différent:
http://www.phpsources.org/article-07,02,11,Lau@-PHP-27.htm
C'est plus jolie la vie en BBcode!| Code: |
| <channel> <item> <media:group> |
Tu as une adresse de ton flux, ou tu peux mettre un peu plus de code pour voir le type de flux ?
Pour la lecture des flux RDF il faut utiliser un parseur différent:
http://www.phpsources.org/article-07,02,11,Lau@-PHP-27.htm
Cool!
Pour ce qui concerne un flux
je te propose par exemple le flux de youtube:
rss : http://gdata.youtube.com/feeds/videos?format=5&orderby=viewCount&alt=rss&vq=%20mondotek%20%20%20Alive
Pour ce qui concerne un flux
je te propose par exemple le flux de youtube:
rss : http://gdata.youtube.com/feeds/videos?format=5&orderby=viewCount&alt=rss&vq=%20mondotek%20%20%20Alive
Salut KOogar,
J'aimerai pouvoir enregistrer dans une base de données Mysql : "ID" et "prenom".
Que faut-il rajouter en code après ton script ?
je découvre le PHP Mysql et j'avoue être un peu perdu.
Merci si tu me viens en aide.
Lionel
J'aimerai pouvoir enregistrer dans une base de données Mysql : "ID" et "prenom".
Que faut-il rajouter en code après ton script ?
je découvre le PHP Mysql et j'avoue être un peu perdu.
Merci si tu me viens en aide.
Lionel
Salut KOogar,
J'aimerai pouvoir enregistrer dans une base de données Mysql : "ID" et "prenom".
Que faut-il rajouter en code après ton script ?
je découvre le PHP Mysql et j'avoue être un peu perdu.
Merci si tu me viens en aide.
Lionel
J'aimerai pouvoir enregistrer dans une base de données Mysql : "ID" et "prenom".
Que faut-il rajouter en code après ton script ?
je découvre le PHP Mysql et j'avoue être un peu perdu.
Merci si tu me viens en aide.
Lionel
bonjour,
félicitation pour ces bouts de codes.
je souhaite savoir comment limiter le nombre de résultats renvoyés par le fichier rss qui contient les infos ?
merci
félicitation pour ces bouts de codes.
je souhaite savoir comment limiter le nombre de résultats renvoyés par le fichier rss qui contient les infos ?
merci
c'est un très bon article mais est ce qu'on peut enregistrer des information a partir de mysql ?
Merci
Merci
c'est un très bon article mais est ce qu'on peut enregistrer des information a partir de mysql ?
Merci
Merci
salut, j'ai une anime de diapo en flash qui appel un fichier .xml ou ou ce trouve les urls des images.
Le problème c'est que j'ai mes url dans une une base sql, donc comment indiquer la variable php $url(qui contient l'url de l'image récuper dans ma base) dans mon fichier .xml?
merci
Le problème c'est que j'ai mes url dans une une base sql, donc comment indiquer la variable php $url(qui contient l'url de l'image récuper dans ma base) dans mon fichier .xml?
merci
Si vos données proviennent d'un table sql, il vous faut faire une lecture de la table pour en ressortir les valeurs que vous désirez travailler.
Ce script php devrait vous y aider:
Ce script php devrait vous y aider:
| Code: |
<?php /********************************/ /* */ /* CONNECTION - EXECUTION */ /* */ /********************************/ $mabasededonnee="nombase"; $connection = mysql_connect("localhost","root","motdepasse"); // test la connection if ( ! $connection ) die ("connection impossible"); // Connecte la base mysql_select_db($mabasededonnee) or die ("pas de connection"); $requete=" SELECT * from VOTRETABLE WHERE champ='valeur' "; // requête mysql_query($requete,$connection); // envoi de la requête ?> |
Je n'arrive pas ç afficher les champs contenu dans les cdata, comment faire please???
Bonjour,
Je cherche comme oobox à lire (en php4) un rss youtube mais je n'y arrive pas.
l'exemple de code est ok pour lire les valeus simples mais impossible de lire les balises media du flux : as-tu trouvé comment faire ?
Je cherche comme oobox à lire (en php4) un rss youtube mais je n'y arrive pas.
l'exemple de code est ok pour lire les valeus simples mais impossible de lire les balises media du flux : as-tu trouvé comment faire ?
YYYYYYYYYYYAHOUUUUUUUUUUUUUUUUU
Merci beaucoup, une jounrée de recherche avec des mega code qui font même pas le café et enfin je tombe sur un script supra simple et qui marche du 1er coup.
Merci beaucoup, une jounrée de recherche avec des mega code qui font même pas le café et enfin je tombe sur un script supra simple et qui marche du 1er coup.
Ouep bonne source :)
Ma contribution qui réunis sur la fonction => avec ou sans limiteur de flux en sortie
function lit_xml($fichier,$nb,$item,$champs){
// on lit le fichier
if($chaine = @implode('',@file($fichier))){
// on explode sur <item> Dans l'exemple il s'agit de 'profil'
$tmp = preg_split('/<\/?'.$item.'>/',$chaine);
// pour chaque <item> donc tous les profils
if(empty($nb)){// Si $nb n'est pas renseigné on envoi tout le xml
for($i=1;$i < sizeof($tmp)-1;$i+=2){// On ne désire pas limiter le flux à l'affichage
foreach($champs as $champ){// on lit les champs demandés <champ>
$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
// on ajoute l'élément au tableau
$tmp3[$i-1][] = @$tmp2[1];
}// fin - on lit les champs demandés <champ>
}// fin - // On ne désire pas limiter le flux à l'affichage
}else{// $nb est renseigné, on renvoi le nb exact en sortie, la valeur doit etre impaire car le pas est de 2 et commence à 1 (1,3,5,7,9,11...)
for($i=1;$i<$nb;$i+=2){// On désire limiter le flux à l'affichage
foreach($champs as $champ){// on lit les champs demandés <champ>
$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
// on ajoute l'élément au tableau
$tmp3[$i-1][] = @$tmp2[1];
}// fin - on lit les champs demandés <champ>
}// fin - On désire limiter le flux à l'affichage
}// fin - si $nb pas renseigné / est renseigné
// et on retourne le tableau dans la fonction
return $tmp3;
}
return false;
}
// Maintenant, deux exemples pour utiliser la fonction modifiée:
// Lecture du FLUX XML sur le serveur "sans limiter le flux"
$xml = lit_xml('http://www.site.fr/sitemap.xml','','url',array('loc'));
// Lecture du FLUX XML sur le serveur "en limitant le flux"
$xml = lit_xml('http://www.site.fr/sitemap.xml','15','url',array('loc'));
En éspèrant qu'elle sera utile, bonne prog :)
function lit_xml($fichier,$nb,$item,$champs){
// on lit le fichier
if($chaine = @implode('',@file($fichier))){
// on explode sur <item> Dans l'exemple il s'agit de 'profil'
$tmp = preg_split('/<\/?'.$item.'>/',$chaine);
// pour chaque <item> donc tous les profils
if(empty($nb)){// Si $nb n'est pas renseigné on envoi tout le xml
for($i=1;$i < sizeof($tmp)-1;$i+=2){// On ne désire pas limiter le flux à l'affichage
foreach($champs as $champ){// on lit les champs demandés <champ>
$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
// on ajoute l'élément au tableau
$tmp3[$i-1][] = @$tmp2[1];
}// fin - on lit les champs demandés <champ>
}// fin - // On ne désire pas limiter le flux à l'affichage
}else{// $nb est renseigné, on renvoi le nb exact en sortie, la valeur doit etre impaire car le pas est de 2 et commence à 1 (1,3,5,7,9,11...)
for($i=1;$i<$nb;$i+=2){// On désire limiter le flux à l'affichage
foreach($champs as $champ){// on lit les champs demandés <champ>
$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
// on ajoute l'élément au tableau
$tmp3[$i-1][] = @$tmp2[1];
}// fin - on lit les champs demandés <champ>
}// fin - On désire limiter le flux à l'affichage
}// fin - si $nb pas renseigné / est renseigné
// et on retourne le tableau dans la fonction
return $tmp3;
}
return false;
}
// Maintenant, deux exemples pour utiliser la fonction modifiée:
// Lecture du FLUX XML sur le serveur "sans limiter le flux"
$xml = lit_xml('http://www.site.fr/sitemap.xml','','url',array('loc'));
// Lecture du FLUX XML sur le serveur "en limitant le flux"
$xml = lit_xml('http://www.site.fr/sitemap.xml','15','url',array('loc'));
En éspèrant qu'elle sera utile, bonne prog :)
MERCI MERCI BBEAUCOUUUUUUUUUUUUUUUUUUUP


à partir de PHP est-ce que tu peux modifier le xml et ajouté des nodes ou même supprimer?
Je n'y arrive pas.
Je n'y arrive pas.
svp comment peut on parser un flux xml via un fichier http
et merci d'avance
et merci d'avance
Ajouter un commentaire
Librairie PHP
Connexion
XML
PHP
- Affichage (5)
- Applications (9)
- Chaînes (71)
- Classes (29)
- Constantes (4)
- Cookies (3)
- Date-Heure (40)
- Email (14)
- Fichiers - Réps (45)
- Fonctions (23)
- Formulaires (18)
- GD-Graphiques (11)
- Google (13)
- HTML (7)
- Images (21)
- Inclassable (28)
- Maths (24)
- MySQL (23)
- Navigateurs (6)
- Recherches (6)
- Regex (13)
- Reseau (2)
- Sécurité (25)
- Sessions (13)
- Statistiques (5)
- Système (18)
- Tableaux (21)
- Tag-cloud (3)
- Templates (3)
- Twitter (5)
- URL (22)
- Variables (8)
- Vidéos (2)
- Windows (1)
- XML (2)
|
||























