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.