Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1848 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème xpath : compter le nombre de noeud ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème xpath : compter le nombre de noeud ?

n°751007
Phive
Raaah Lovely
Posté le 03-06-2004 à 15:59:37  profilanswer
 

Hello
 
Bon ca fait un petit moment que je tourne en rond et que je trouve pas la solution pour compter le nombre noeud spécifié d'un doc xml en php.
Voila ce que je fait
 
 
La fonction permettant de compter le nombre de noeud $chemin_xpath dans le $fichier

Code :
  1. function compte_noeud($fichier,$chemin_xpath){
  2. //fichier à modifier  
  3. $xml_file = $fichier;
  4. //création d'un objet Dom à partir du fichier  
  5. $doc_xml = domxml_open_file($xml_file);
  6. $xpath = $doc_xml->xpath_new_context();
  7. $compte = xpath_eval($xpath,"count(".$chemin_xpath." )" );
  8. $nbre_noeud = $compte->value;
  9. return $nbre_noeud;
  10. }


 
Voila comme j'appel cette fonction

Code :
  1. $nombre_noeud=compte_noeud("monfichier.xml","//balise1/balise1" );
  2. echo"<br>Il y a $nombre_noeud noeud <br>";


 
Il me marque :"ll y a 0 noeud" alors qu'il devrait en trouver un !
 
Sachant que mon expression xpath est juste vu qu'elle est bien evalué avec xmlspy.
 
Cela peut venir d'ou ?


Message édité par Phive le 03-06-2004 à 16:00:47

---------------
/!\ Post powered by Phive-online.com /!\
mood
Publicité
Posté le 03-06-2004 à 15:59:37  profilanswer
 

n°751149
Phive
Raaah Lovely
Posté le 03-06-2004 à 17:37:04  profilanswer
 

alors personne pour me filer un coup de main ?

n°751152
Phive
Raaah Lovely
Posté le 03-06-2004 à 17:38:27  profilanswer
 

juste pour infi je me suis aidé de ce script
 

Code :
  1. p = xslt_create();
  2.    $o += 0;
  3.    $s =  '';
  4.    $s .= "<query type='create'>";
  5.    $s .=    "<resourceClass id='12345678901234567890' displayName='DAISY'>";
  6.    $s .=        "<group family='global' id='kind'>";
  7.    $s .=            "<node id='NODE_A' displayName='Red Ferrari' description='Red always goes faster'/>";
  8.    $s .=        "</group>";
  9.    $s .=    "</resourceClass>";
  10.    $s .=    "<resourceClass id='12345678901234567890' displayName='BETTY'>";
  11.    $s .=        "<group family='global' id='kind'>";
  12.    $s .=            "<node id='NODE_B' displayName='Blue Porsche' description='But Porsches are a drivers car'/>";
  13.    $s .=        "</group>";
  14.    $s .=    "</resourceClass>";
  15.    $s .= "</query>";
  16.    $dom=xmldoc($s);
  17.    $ctx=xpath_new_context($dom);
  18.    $query_xo = xpath_eval($ctx,"count(/query/resourceClass)" );
  19.    $num_rc = $query_xo->value;
  20.    echo("<BR>There are $num_rc classes in this list" );


 
Sachant que cette fonction marche tres tres bien.
Je pense que le truc vient du fait que sont "fichier xml" est une chaine de char alors que ke moi c'est vraiment un fichier que j'ouvre en tant objet dom


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème xpath : compter le nombre de noeud ?

 

Sujets relatifs
Probleme de session lors des redirectionsproblème d'affichage dans un calque
Probleme EasyPHP 1.7+ Apachepackage : probleme de compilation
Problème de cryptage...Probleme avec JPGraph ...
probleme d'affichage page jspProblème de fichiers / tableaux [RESOLU]
Probleme avec TMsgDlgButtons de borland[lex] Probleme reconnaissance d une chaine par ex
Plus de sujets relatifs à : Problème xpath : compter le nombre de noeud ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR