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

JavaScript Discussion :

"comptage" de noeuds dans un xml


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 32
    Points
    32
    Par défaut "comptage" de noeuds dans un xml
    Bonjour
    Existe t'il une commande javascript qui permette de compte le nombre de noeuds "noeud" dans un fichier xml?

    ...j ai du mal a m'exprimer lol, alors p'tit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <toolbar>
      <format> 
      </format>
      <Button tooltip="fonction" image="toto.png" function="function();"></Button>
      <Button tooltip="fonction" image="toto.png" function="function();"></Button>
     
    </toolbar>
    ici, commande(Button) renverrait 2.

    Merci !!!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 234
    Points : 172
    Points
    172
    Par défaut
    Si tu peux fais le en PHP qui exploite en natif des fonctions pour gérer les fichiers XML :
    startHandler() detecte automatiquement une ouverture de balise
    endHandler() une fin de balise
    characterHandler() une contenu de balise
    Comme ca tu evites au client (navigateurs) d'analyser des fichiers XML ce qui n'est peut-être pas nécessaire dans ton cas.
    De plus de la doc est disponbile en abondance sur ces fonctions et tu peux faire de l'objet.
    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
    24
    25
    26
    27
     
     
    class XML_PARSER {
       $nombre_douverture;
       $Parser;
    	function XML_PARSER() {
            $this->nombre_douverture=0;
    	// Les fonctions suivantes permettent d'attacher l'objet et les méthodes au parser
    		//Elles permettent également sa configuration
    	$this->Parser = xml_parser_create('ISO-8859-1');
    	xml_parser_set_option($this->Parser, XML_OPTION_CASE_FOLDING, false);
    	xml_set_object($this->Parser,$this);
       	xml_set_element_handler($this->Parser,"StartHandler","EndHandler");
            xml_set_character_data_handler($this->Parser,"CharacterHandler");	
    	}
     
          function StartHandler(&$Parser, &$Elem, &$Attr) {
            $this->nombre_douveture++;
         }
         $Content est le fichier XML en chaine de caractere
         function startParsing($Contents) {
    	xml_parse($this->Parser, $Contents);
     
       }
           function CharacterHandler(&$Parser, &$Line) {}
    	function EndHandler(&$Parser, &$Elem) {}
    }
    Il s'agit d'une version tres simplifié d'un parser que j'ai ecris et comme j'ai enleve des morceaux il se peut qu'il ne soit pas directement fonctionnel

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 234
    Points : 172
    Points
    172
    Par défaut
    Pour pouvoir répondre à ton problème il faudra toutefois produire un code un peu plus complet

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 32
    Points
    32
    Par défaut
    l'accès au xml n'est pas un problème en soit, vu qu'il sera sur chaque poste. Et quitte a faire mon chiant, il faut impérativement le faire en javascript...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 234
    Points : 172
    Points
    172
    Par défaut
    Bin dsl j'ai juste traité le problème en php

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 32
    Points
    32
    Par défaut
    ok, merci, en attendant, je m'y replonge... si je suis pas revenu d'ici ce soir... attendez encore

  7. #7
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    excuse moi ma réponse est un peu plus simple que celle de roudoudou

    xmlDoc.load("ton_fichier.xml")

    var lieto = xmlDoc.getElementsByTagName("Button").length ;

    ainsi si tu veux generaliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function lieto(tagname)
    {
    var x = xmlDoc.getElementsByTagName(tagname).length ;
    alert(x);
    }
    Cliquez sur

    Evitez de mettre Probleme
    dans les titres de vos posts

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 32
    Points
    32
    Par défaut
    Nickel tip-top, super NeHuS, merci du coup de main

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajoutter un noeud dans un xml existant
    Par etud_ini dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/10/2008, 20h08
  2. [DOM] Ajouter un noeud dans un XML existant
    Par splifferwolf dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 11/02/2008, 16h01
  3. Recherche noeud dans document XML
    Par gregcat dans le forum Delphi
    Réponses: 5
    Dernier message: 21/09/2006, 14h10

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