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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
<?php
// 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;
global $lien;
// 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 "IMAGE_PRODUIT":
{$lien = "<table width='120' border='0' bordercolor='#030680'><td width='120' height='30' border='1' bordercolor='#030680'><img src='../mybspace/abonnement/espaceabone/catalogue/$texte.' width='110' height='100'> </td></table>";}
break ;
return $lien;
}
}
$fichier = "lienfichierxml";//le lien doit etre mis en entier pas du genre(../lien.xml)
// 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);
echo "<table width='573' border='1' bordercolor='#030680' class='Style26'>
<tr>
<td width='186' height='30' class='Style26'>Présentation de l'article : </td>
<td width='100' height='30' class='Style26'>Prix unitaire : </td>
<td width='63' height='30' class='Style26'>Quantité : </td>
<td width='70' height='30' class='Style26'>Total : </td>
</tr>";
$fichier = file($fichier); // Nom du fichier à afficher
$total = count($fichier); // Nombre total des lignes du fichier
for($i = 0; $i < $total; $i++)
{ // Départ de la boucle
if ($i == 2)
{
echo "<tr>";
echo "<td rowspan='2' valign='top'>".$fichier[$i];
}
if($i == 3)
{
echo "<p align='center'>";
echo $lien;
echo"</p>";}
if($i == 4)
{
echo"<p align='center'>".$fichier[$i]."</p>
</td>";}
if($i == 5)
{
$pri = $fichier[$i];
echo"<td height='122'>$pri</td>";}
if($i == 6)
{
$qte = $fichier[$i];
echo"<td>";
echo $qte;
echo"</td>";}
if($i == 7)
{
echo"<td>";
echo $fichier[$i];
echo"</td>";
echo"</tr>
<tr>
<td height='42' colspan='3'> </td>
</tr>";}
} // Fin de la boucle
echo "</table>";
?> |
Partager