• [^] # Re: XML et php

    Posté par . En réponse au journal XML et php. Évalué à 1.

    Voilà un exemple dont tu peut t'inspirer (c'est pas forcément propre) ... Cela utilise le parser XML de PHP (parser SAX).

    Tu peut trouver de la doc PHP (manuel en français annoté) à http://dev.nexen.net(...) (en particulier le 7.110, Analyseur Syntaxique XML).


    <?php

    function start_element ($parser, $name, $attribs) // Pour une balise ouvrante
    {
    if ($name == "ENTETE") // Nom de la balise a tester, en majuscule
    {
    // Tu fait ton traitement
    // $attribs est un tableau avec les attributs de la balise
    }
    }


    function end_element ($parser, $name) // Pour une balise fermante
    {
    if ($name == "ENTETE")
    {
    // Tu fait le traitement nécessaire
    }

    }

    // On se cree un parser utilisant les fonctions ci-dessus
    $parser = xml_parser_create();

    xml_set_element_handler ($parser, start_element, end_element);


    $fileName = // tu récupère le nom du fichier à parser

    $file = file ($fileName); // Tu le charge (dans un tableau avec 1 case = 1 ligne du fichier il me semble)

    while (list ($key, $val) = each ($file)) // Pour chaque élément du tableau
    {
    $newVal = trim ($val);
    $prochain = next ($file);

    if ($prochain == false)
    {
    $error =xml_parse ($parser, $newVal, true); // On est à la dernière ligne, on fait le dernier parsing avant de sortir
    }
    else
    {
    $prochain = prev($file);
    $error =xml_parse ($parser, $newVal, false); // On parse la ligne courante
    }
    }

    xml_parser_free($parser); // Libération de la mémoire
    ?>

    voilà, bonne chance !