Bonjour,

j'ai un probléme de lecture et d'ecriture, je vous montre le structure de mon fichier XML , et vous comprendrez mon probleme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<mysql>
  <database name="personnes">
    <table>
        <fiche>
          <var name="id">..</var>
          <var name="nom">...</var>
          <var name="prenom">...</var>
          <var name="statut">...</var>
          <var name="formation">...</var>
          <var name="pageWebPerso" generation="auto"></var>
          <var name="photo"></var>
          <var name="distinctions" generation="none"></var>
          <var name="implicationprojet"><projet>projet1</projet><projet>projet2</projet></var>
          <var name="tel"></var>
          <var name="local"></var>
          <var name="courriel"></var>
          <var name="implicationlabo">5059<laboratoire>..</laboratoire></var>
        </fiche>
    </table>
  </database>
</mysql>
Mon probléme est avec le champs implicationprojet, comment je pourrai lire les valeurs projet1 et projet2 , avec une expression XPath, de meme comment je vais ecrire un noeud avec cette facon ?

pour la lecture j'ai essayé ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function imp ($fiche)
{
	$xpath = new DOMXPath($fiche->ownerDocument);
	$res = $xpath->query(sprintf('var[@name = "%s"]/*', 'implicationprojet'),$fiche);
	    if (!$res or $res->length == 1) {
        return $res->item(0)->nodeValue;
    } else {
        return FALSE;
    }
}
fiche etant tout le noeud fiche, mais cette fonction ne me retourne qu'un seul projet! je ne comprend pas ou se situe mon erreur, merci de bien vouloir m'aider



...