Créer une arborescence de repertoire en xml

Résolu
sachie
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
- 18 juin 2008 à 11:09
sachie
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
- 18 juin 2008 à 13:34
Salut à tous , bon je précise mon truc c'est pas le php, je viens de m'y mettre par nécessité, en effet j'ai besoin de créer une arborescence xml qui refleterait un arborescence à partir d'un dossier!

J'ai parcouru le web et je n'ai pas trouvé, j'ai trouvé un code interessant:

<?php
    $dom = new DomDocument();
    $dom->load('Test.xml');
   
function list_dir($name, $level=0)
{
  if ($dir = opendir($name))
  {
    while($file = readdir($dir))
    {
      for($i=1; $i<=(4*$level); $i++)
      {
          echo "&nbsp;";
      }
      $nouveauFich = $dom->createElement("$file");
      echo "$file
\n";
      if(is_dir($file) && !in_array($file, array(".","..")))
      {
        list_dir($file,$level+1);
      }
    }
    closedir($dir);
  }
 
  $dom->save('TestFichier.xml');
}

list_dir(".");
?>

Comme vous pouvez le voir j'ai essayé d'inclure la création d'un xml mais en vain!
De plus si je n'essaye pas de créer le xml, ce code ne m'affiche qu'un niveau de sous-repertoires!

Si quelqu'un à une idée ou une piste interessante j'écoutes!

2 réponses

Bling 182
Messages postés
510
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
5 juillet 2009
3
18 juin 2008 à 13:23
Déjà, il te manque un "$dom->appendChild($nouveauFich);"

Après, au niveau du parcours, je dirais de passer en récursif. Par contre, la j'ai pas d'exemple sous la main.
3
sachie
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
2
18 juin 2008 à 13:34
Merci de ta réponse Bling182 !
C'est bon j'ai trouvé ça par google:

http://www.flashkod.com/codes/ARBORESCENCE-EXPLORATEUR-FICHIERS-AVEC-PHP-XML_38029.aspx

le fichier php pour créer l'arborescence est nickel!
3