IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Compter le nombre d'attributs identiques dans un fichier xml avec simplexml en php


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut [SimpleXML] Compter le nombre d'attributs identiques dans un fichier xml avec simplexml en php
    bonjour,

    j'ai un souci voici le fichier xml
    Code xml : 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <info>
    <motif code="xxx">
     <message> ddsdf</message>
     <codeDemande>7</codeDemande>
     <codeBeneficiaire>DG004</codeBeneficiaire>
     <beneficiaire>Direction Financière et Comptable</beneficiaire>
     <date>12-09-2014</date>
     <heure>03:28</heure>
     <exercice>2014</exercice>
     <nature>668411 </nature>
     </motif>
     
    <motif code="DG004">
    <commentaire> hdhd</commentaire>
    <codeDemande>7</codeDemande>
    <codeBeneficiaire>DG004</codeBeneficiaire>
    <beneficiaire>Direction Financière et Comptable</beneficiaire>
    <codeExercice>2014</codeExercice>
    <codeNature>668411 </codeNature>
    <date>12-09-2014</date>
    <heure>12:36</heure>
    </motif>
     
    <motif code="DG004">
    <commentaire> hdhd</commentaire>
    <codeDemande>7</codeDemande>
    <codeBeneficiaire>DG004</codeBeneficiaire>
    <beneficiaire>Direction Financière et Comptable</beneficiaire>
    <codeExercice>2014</codeExercice>
    <codeNature>668411 </codeNature>
    <date>12-09-2014</date>
    <heure>12:36</heure>
    </motif>
     
    <motif code="DG002">
    <commentaire>gffggf</commentaire>
    <codeDemande>11</codeDemande>
    <codeBeneficiaire>DG002</codeBeneficiaire>
    <beneficiaire>Direction Technique</beneficiaire>
    <codeExercice>2014</codeExercice>
    <codeNature>632800</codeNature>
    <date>12-09-2014</date>
    <heure>12:39</heure>
    </motif>
    </info>

    je souhaiterais compter le nombre de fois que l'attribut code=DG004 apparait ainsi que le nombre de fois que code=DG002 apparait.
    merci.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    montre nous ce que tu as déjà essayé comme code

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    ok.le code que j'ai deja commencé :

    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
    22
    23
     
    <?php
     
    $xml = simplexml_load_file("vue/popup/popupMessage.xml");
     
    foreach($xml->children() as $child){
     
            $role = $child->attributes();
     
     
            foreach($child as $key => $value){
     
                if($role == $userConnecte->getType()){
     
                echo("<u><strong>".$key ."</strong></u>: ".$value . "<br /><br />");
     
     
            }
        }
        }
     
      echo count ($xml->children ());
    ?>
    Dans ce code, je liste le contenu de chaque motif.Par rapport à mon application,mon but est d'afficher les différents motifs à partir des codes attribués à chaque utilisateur(session) en php. Ainsi l'uilisateur DG004 recuperera uniquement les motifs ayant comme attribut code:"DG004" et l'utilisateur DG002 va recupérer les motifs ayant comme attribut code:"DG002 ainsi de suite.
    l'affichage selon l'utisateur a été fait.

    Ce que je veux maintenant faire c'est compter le nombre de motifs ayant un attribut avec code=""DG004", avec code="DG002" et ainsi de suite. Cela me permettra lors de la récupération en php de notifier à l'utilisateur le nombres de motifs qu'il a par rapport à sa session lié au code utilisateur.

    pour l'instant j'arrive a recuperer l'attribut avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <?php   
    foreach($xml->motif[1]->attributes() as $a => $b) {
        echo $a,'="',$b,"\"\n";
    ?>
    }
    // cela m'affiche code DG004



    et avec ce code ci dessous:
    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
     
    <?php  
    foreach ($xml->motif as $b) {
        echo $b['code']; 
    }
     
    foreach($xml->children() as $child){
     
            $role= $child->attributes();
     
     
     
     
     
        }
     
    ?>
    //cela m'affiche la liste des attributs de chaque motif : xxx DG004 DG004 DG002 DG004

    ya t'il une fonction en SIMPLEXML qui compte le nombre d'attributs identiques(par ex dans notre ficher xml nous avons deux motifs qui ont l'attribut DG004 , un motif ayant comme attribut DG002.
    merci

Discussions similaires

  1. Compter le nombre de caractères identiques dans une chaine
    Par patricktoulon dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/08/2019, 18h15
  2. compter le nombre d’occurrences identiques dans une colonne
    Par walid1980 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/08/2016, 08h01
  3. [XL-2010] Comment compter le nombre de valeur identique dans un sheet.
    Par zoltix dans le forum Excel
    Réponses: 4
    Dernier message: 24/04/2011, 00h06
  4. [WD-2003] Compter le nombre de valeurs identiques dans un tableau word
    Par borocam dans le forum VBA Word
    Réponses: 4
    Dernier message: 20/01/2010, 19h19
  5. [MySQL] Compter le nombre de valeurs identiques dans une colonne d'une table
    Par luca120 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/12/2009, 01h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo