begin process at 2012 05 30 19:53:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

inverser un fichier xml


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

inverser un fichier xml

lundi 5 septembre 2005 à 15:54:12 | inverser un fichier xml

zenouba2005

salut
jé un fichier xml je veux une fonction php qui l'inverse
voila un exemple
voila mon fichier xml
<a>
  <b/>
  <c/>
  <d/>
</a>
voila ce que je veux comme resultat
<a>
  <d/>
  <c/>
  <b/>
</a>
merci pour vous
lundi 5 septembre 2005 à 20:12:38 | Re : inverser un fichier xml

ashboody

Membre Club
t'en a d'autres des pb a la con comme cela ? tu veux inverser quoi réellement ? les balises ouvrantes/fermantes ? et dans le cas d'une balise unique ? quoi qu'il en soit jette un oeil aux fonctions de parsage XML xml_set_element_handler, xml_set_character_data_handler, xml_set_default_handler bon courage
lundi 5 septembre 2005 à 20:15:33 | Re : inverser un fichier xml

J_G

Salut,

La fonction xml_parse_into_struct() va te traduire ton fichier XML en un arbre de données.

Ensuite, tu attrape cet arbre par la queue grâce à un jeu de fonctions array_pop() pour reconstruire un fichier xml "inversé".

Je te laisse bouquinner cette solution et faire ton algo de parcours d'arbre. C'est le plus intéressant en prog ;)


 xml_parse_into_struct(http://fr.php.net/manual/fr/function.xml-parse-into-struct.php)


6 C pa ça Fo L'dir, Pi 6 C ça Fo L'Dir oci... Br'F 10t le !!!
Doc officielle de PHP en français
lundi 5 septembre 2005 à 20:48:33 | Re : inverser un fichier xml

Anthomicro

Salut,

    $fichier=file('fichier.xml');
    print_r(array_reverse($fichier,TRUE));

regarde la source générée


    mardi 6 septembre 2005 à 10:18:29 | Re : inverser un fichier xml

    malalam

    Administrateur CodeS-SourceS
    J_G => pour inverser un tableau, tu joues avec de array_pop ? Tu es un warrior ;-)

    Pour le problème, je n'ai pas bien saisi ce qu'il veut faire non plus. Fais attention à la racine, elle ne doit pas bouger.
    Un mix de la solution de J_G et d'Antho devrait t'amener à quelquechose.

    mardi 6 septembre 2005 à 10:25:05 | Re : inverser un fichier xml

    J_G

    Salut les gars,

    Je me suis essayé sur ce petit problème hier soir... Ben chuis pas un Warrior!!!
    La fonction xml_parse_into_struct est un peu toute nase.

    L'outil le plus adapté à ce genre de pb est le jeu de classes DOM
    (DomElement, DomDocument, DomNode, DOMtruc...)
    Une fois qu'on l'a en main, c'est facile (je l'avais utilisée en C++)
    Mais pas réussi à configurer easyPHP pour les accepter dans les 10 minutes => abandon.

    En tout cas je retire ce que j'ai dis : c'est loin d'être trivial et la fonction xml_parse_into_bordel et toute nulle!!!

    Bon courage,

    mardi 6 septembre 2005 à 12:19:44 | Re : inverser un fichier xml

    malalam

    Administrateur CodeS-SourceS
    hello,

    bon, devant la baissée des bras ;-) je t'ai écrit une petite fonction à 2 balles pour faire ce que tu veux faire.
    Attention, c'est juste un exemple, et ça ne fonctionnera qu'avec un xml simple. De plus j'ai utilisé DOM et simplexml histoire de te montrer 2 façons de jouer avec le xml en php5. Ca peut être simplifié.

    <?php
    $xmlStr = <<<XML
    <?xml version="1.0" encoding="UTF-8"?>
    <racine>
        <a>bla</a>
        <b>blb</b>
        <c>blc</c>
    </racine>
    XML;
    reverseXml ($xmlStr);

    function reverseXml ($xmlStr) {
        $dom = new DOMDocument('1.0', 'iso-8859-1');
        $read = new DOMDocument();
        $read -> loadXML ($xmlStr);
        $element = $dom -> appendChild( new DOMElement($read -> firstChild -> nodeName));
        $simple = simplexml_load_string ($xmlStr);
        foreach ($simple -> children () as $node => $valeur) {
            $tab[$node] = $valeur;
        }
        $tab = array_reverse ($tab);
        foreach ($tab as $node => $valeur) {
            $element_ns = new DOMElement($node, $valeur);
            $element -> appendChild($element_ns);
        }
        if ($dom -> save('test.xml')) {
          echo 'sauvegarde r&ecute;ussie';
        }
        else {
          echo 'sauvegarde &ecute;chou&ecute;e';
        }
    }
    ?>

    mardi 6 septembre 2005 à 16:37:57 | Re : inverser un fichier xml

    Anthomicro

    $fichier=file('fichier.xml');

    $tableau=array_reverse($fichier,TRUE);

    foreach($tableau AS $valeur)
    {
        echo $valeur,'<br />';
    }

    je pense que ça doit correspondre à ce que tu veux en simple et rapide :-)


      mardi 6 septembre 2005 à 16:44:10 | Re : inverser un fichier xml

      malalam

      Administrateur CodeS-SourceS
      Nan, tu oublies la racine. Et tu vas perdre de toutes façons complètement tes noeuds, comme ça.
      mardi 6 septembre 2005 à 17:09:22 | Re : inverser un fichier xml

      Anthomicro

      ça fonctionne parfaitement chez moi pourtant, ça donne bien un fichier inversé :-)

      <?php
          $fichier=file('fichier.xml');

          $tableau=array_reverse($fichier,TRUE);

          foreach($tableau AS $valeur)
          {
              echo htmlentities($valeur),'<br />';
          }
      ?>

      histoire d'avoir l'affichage dans le navigateur



        1 2

        Cette discussion est classée dans : fichier, xml, inverser


        Répondre à ce message

        Sujets en rapport avec ce message

        Php et excel ???? [ par Adagyo ] Salut @ tous,Je cherche un moyen de faire communiquer le contenu d'une base MySQL avec un tableau Excel.J'ai pensé à passer par du XML (je fait une re Xml et Php [ par davdou ] Bonjour,Je travaille actuellement sur un LMS Open-Source (Ganesha).Un module d'importation de formation dans la plate-forme doit parser un fichier Xml xml dans un tableau php! SVG à la clé :) [ par jed35 ] Bonjour je débute en php et évidemment j'ai un probleme. Je cherche à placer des données (qui se trouvent dans un fichier xml) dans un tableau php.voi Ecrire dans un fichier .XML [ par ZogStriP ] Bonjour,Je suis le webmasteur du site : www.rubikscubor.fr.st et j'aimerais faire un formulaire qui me permettrais d'inscrire une liste de SpeedCubist xml(genere par excel) -> php [ par mic79 ] bjour,je dispose d'un fichier xml généré sous excel et je souhaite récupérer les données du fichier excel dans ma page php.connaissez vous une bibliot accents [ par Zan ] bonjour,j'ai un petit souci avec les accents :dans une chaine, j'ai un balise xml et son contenu.j'ecris cette chaine dans un fichier.php me perd les Téléchargement d'un Xml [ par Xilofeon ] BonjourVoila j'ai trouvé des exemples de header sur le forum pour pouvoir demander à l'utilisateur d'enregistré directement le fichier sans l'ouvrir d Lire fichier XML distant proteger par htaccess [ par jordangj ] Salut à tousJe voudrais savoir comment je peut lire un fichier XML situer sur un serveur distant proteger pas un htaccess ?Une a Question XML [ par orsam ] Bonjour à tous,Bon je commence juste à "maitriser" le php, mais je cherche maintenant une petite doc ou un petit exemple, pour l'utilisation de fichie Besoin d'aide pour generer un Flux RSS [ par RuSSe_91 ] Salut tout le monde :) Je viens demander un coup de main pour générer un fichier RSS en XML. Mon site tourne sous mambo, e


        Nos sponsors


        Sondage...

        Comparez les prix

        CalendriCode

        Mai 2012
        LMMJVSD
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   

        Consulter la suite du CalendriCode

        A découvrir



         
        Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
        CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
        CodeS-SourceS.com© est une marque déposée tous droits réservés

        Google Coop CodeS-SourceS Google Coop CodeS-SourceS
        Temps d'éxécution de la page : 0,593 sec (4)

        Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales