[RESOLU]Limiter le nombre de résultats d'un fichier xml
Limiter le nombre de résultats d'un fichier xml [RESOLU] - PHP - Programmation
MarshPosté le 07-09-2009 à 09:41:59
Bonjour,
Je voudrai limiter le nombre de résultat d'un fichier xml sur une de mes pages web.
J'utilise le script suivant :
<?php $fichier = "www.fichier.xml";
// Ma propre fonction de traitement des balises ouvrantes function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs) { // En fait... nous nous conteterons de mémoriser le nom de la balise // afin d'en tenir compte dans la fonction "fonctionTexte"
global $derniereBaliseRencontree;
$derniereBaliseRencontree = $nomBalise; }
// Ma propre fonction de traitement des balises fermantes function fonctionBaliseFermante($parseur, $nomBalise) { // On oublie la dernière balise rencontrée global $derniereBaliseRencontree;
$derniereBaliseRencontree = ""; }
// Ma propre fonction de traitement du texte // qui est appelée par le "parseur" function fonctionTexte($parseur, $texte) { global $derniereBaliseRencontree;
// Selon les cas, nous affichons le texte // ou nous proposons un lien // ATTENTION: Par défaut les noms des balises sont // mises en majuscules
switch ($derniereBaliseRencontree) { case "NAME": echo "<div style='padding-bottom: 5px'><strong>Tournois : $texte</strong></div>"; break; case "STARTDATE": echo "Date est heure : $texte<br>"; break; case "MAXPLAYERS": echo "Joueurs maximum : $texte<br>"; break; case "DESCRIPTION": echo "description : $texte break; } }
// Création du parseur XML $parseurXML = xml_parser_create();
// Je précise le nom des fonctions à appeler // lorsque des balises ouvrantes ou fermantes sont rencontrées xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante" , "fonctionBaliseFermante" );
// Je précise le nom de la fonction à appeler // lorsque du texte est rencontré xml_set_character_data_handler($parseurXML, "fonctionTexte" );
// Ouverture du fichier $fp = fopen($fichier, "r" ); if (!$fp) die("Impossible d'ouvrir le fichier XML" );
// Lecture ligne par ligne while ( $ligneXML = fgets($fp, 1024)) { // Analyse de la ligne // REM: feof($fp) retourne TRUE s'il s'agit de la dernière // ligne du fichier. xml_parse($parseurXML, $ligneXML, feof($fp)) or die("Erreur XML" ); }
xml_parser_free($parseurXML); fclose($fp); ?>
Merci pour votre aide
Message édité par mr zuppardo le 08-09-2009 à 11:23:45
Marsh Posté le 07-09-2009 à 09:41:59
Bonjour,
Je voudrai limiter le nombre de résultat d'un fichier xml sur une de mes pages web.
J'utilise le script suivant :
<?php
$fichier = "www.fichier.xml";
// Ma propre fonction de traitement des balises ouvrantes
function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs)
{
// En fait... nous nous conteterons de mémoriser le nom de la balise
// afin d'en tenir compte dans la fonction "fonctionTexte"
global $derniereBaliseRencontree;
$derniereBaliseRencontree = $nomBalise;
}
// Ma propre fonction de traitement des balises fermantes
function fonctionBaliseFermante($parseur, $nomBalise)
{
// On oublie la dernière balise rencontrée
global $derniereBaliseRencontree;
$derniereBaliseRencontree = "";
}
// Ma propre fonction de traitement du texte
// qui est appelée par le "parseur"
function fonctionTexte($parseur, $texte)
{
global $derniereBaliseRencontree;
// Selon les cas, nous affichons le texte
// ou nous proposons un lien
// ATTENTION: Par défaut les noms des balises sont
// mises en majuscules
switch ($derniereBaliseRencontree) {
case "NAME":
echo "<div style='padding-bottom: 5px'><strong>Tournois : $texte</strong></div>";
break;
case "STARTDATE":
echo "Date est heure : $texte<br>";
break;
case "MAXPLAYERS":
echo "Joueurs maximum : $texte<br>";
break;
case "DESCRIPTION":
echo "description : $texte
break;
}
}
// Création du parseur XML
$parseurXML = xml_parser_create();
// Je précise le nom des fonctions à appeler
// lorsque des balises ouvrantes ou fermantes sont rencontrées
xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante"
, "fonctionBaliseFermante" );
// Je précise le nom de la fonction à appeler
// lorsque du texte est rencontré
xml_set_character_data_handler($parseurXML, "fonctionTexte" );
// Ouverture du fichier
$fp = fopen($fichier, "r" );
if (!$fp) die("Impossible d'ouvrir le fichier XML" );
// Lecture ligne par ligne
while ( $ligneXML = fgets($fp, 1024)) {
// Analyse de la ligne
// REM: feof($fp) retourne TRUE s'il s'agit de la dernière
// ligne du fichier.
xml_parse($parseurXML, $ligneXML, feof($fp)) or
die("Erreur XML" );
}
xml_parser_free($parseurXML);
fclose($fp);
?>
Merci pour votre aide
Message édité par mr zuppardo le 08-09-2009 à 11:23:45
---------------
Mr-annonce.fr, les petites annonces gratuites sur internet.