Afficher dans un formulaire des élément d'un xml

Fermé
Nathamis - 26 avril 2013 à 09:23
Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 - 7 mai 2013 à 15:21
Bonjour,
ce n'est peut être pas bien dit dans le titre alors je vous explique plus clairement ce que j'essaye de faire.

Je suis entrain de générer des xml via des formulaire traité en php avec dom php.
Dans une de mes étapes j'ai besoin :
1 - choisir dans quel fichier xml déjà créer je veux ajouter des noeuds via un champ select ( ça j'ai réussi )
2 - par rapport au fichier choisit juste avant généré des valeurs d'attribut qu'il y a dans ce fichier xml ( c'est là que je bloque )

Je suppose que j'ai besoin d'ajax, mais je n'en ai encore jamais fait. Je ne sais pas très bien par ou commencer.

Voilà un de mes fichier xml :
<?xml version="1.0" encoding="utf-8"?>
<QuestionnaireConfiguration>
  <Title text="Liste de personne"/>
  <Page legend="identite" description="qui sont-ils ?">
    <Line type="QUESTION" text="votre nom ?">
      <input type="text" name="nom" value="nom"/>
    </Line>
    <Line type="QUESTION" text="votre prenom ?">
      <input type="text" name="prenom" value="prennom"/>
    </Line>
  </Page>
  <Page legend="profession" description="qui font-ils ?">
    <Line type="QUESTION" text="votre profession ?">
      <input type="text" name="profession" value="profession"/>
    </Line>
  </Page>
</QuestionnaireConfiguration>


Voici comment je récupère tous les nom des fichiers xml :
$dirname = 'C:/xampp/htdocs/XML/questionnaires/';
                        $dir = opendir($dirname);

                        while($file = readdir($dir)) {
                            if($file != '.' && $file != '..' && !is_dir($dirname.$file))
                            {  
                                $file = str_replace('.xml', '', $file);
                                $file = str_replace('_', ' ', $file);
                                echo '<option>'.$file.'</option>';
                            }
                        }

                        closedir($dir);


Et ce que j'aimerai pouvoir récupérer dans le fichier xml choisit c'est la legend des noeuds Page, pour les mettre dans un champ select

Merci d'avance pour votre aide, dont j'ai vraiment besoin.
A voir également:

1 réponse

Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 25
7 mai 2013 à 15:21
Bonjour,

Plusieurs solutions :
1/ tu fais une requête xpath sur ton xml : https://www.php.net/manual/en/simplexmlelement.xpath.php
Cela te permet de récupérer une liste.
Si tu n'a jamais fait d'xpath, c'est très simple : http://pages-perso.luminy.univ-amu.fr/erreur.php?code=404

2/ tu peux parcourir le DOM de ton xml via SimpleXMLElement : https://www.php.net/manual/en/class.simplexmlelement.php

3/ tu peux faire une regex avec la méthode "larache" :
https://www.php.net/preg_match

Cordialement,
Gigatrappeur
0