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 :

XML plusieurs balise qui portent le même nom.


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 184
    Points : 46
    Points
    46
    Par défaut XML plusieurs balise qui portent le même nom.
    Bonsoir,

    J'ai un soucis avec un fichier xml. Je n'arrive pas a récupérer plusieurs balise qui porte le même nom.

    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
    <commentaires>
    		<commentaires.c>
    			<commentaire>
    				<file>commentaires.c</file>
    				<author>auteur11</author>
    				<author>auteur12</author>
    				<version>1.0</version>
    				<date>18 janvier 2013</date>
    				<brief>Courte description de ma fonction.</brief>
    				<details>Longue description de ma fonction, qui peut s'etaler sur plusieurs lignes. Et aussi se faire en plusieurs phrases !</details>
    				<fn>ListFon *addfunction(Lis111111111111111tFon *fon, Function* f)</fn>
    				<param>ligne Correspond a la ligne d'un fichier</param>
    				<return>Retourne 1 si le motif a ete trouver</return>
    				<bug>Aucun bug</bug>
    			</commentaire>
    			<commentaire>
    				<file>commentaires.c</file>
    				<author>auteur21</author>
    				<author>auteur22</author>
    				<version>1.0</version>
    				<date>18 janvier 2013</date>
    				<brief>Courte description de ma fonction.</brief>
    				<details>Longue description de ma fonction, qui peut s'etaler sur plusieurs lignes. Et aussi se faire en plusieurs phrases !</details>
    				<fn>ListFon *addfunction(LisqcwxcxwcxwcxwcxwcwcwxcwxcxwtFon *fon, Function* f)</fn>
    				<param>ligne Correspond a la ligne d'un fichier</param>
    				<return>Retourne 1 si le motif a ete trouver</return>
    				<bug>Aucun bug</bug>
    			</commentaire>
    			<commentaire>
    				<file>commentaires.c</file>
    				<author>auteur31</author>
    				<author>auteur32</author>
    				<version>1.0</version>
    				<date>18 janvier 2013</date>
    				<brief>Courte description de ma fonction.</brief>
    				<details>Longue description de ma fonction, qui peut s'etaler sur plusieurs lignes. Et aussi se faire en plusieurs phrases !</details>
    				<fn>ListFon *addfunction(ListFon *2222222222222222fon, Function* f)</fn>
    				<param>ligne Correspond a la ligne d'un fichier</param>
    				<return>Retourne 1 si le motif a ete trouver</return>
    				<bug>Aucun bug</bug>
    			</commentaire>
    		</commentaires.c>
    	</commentaires>

    et mon javascript :

    pour récupérer par exemple la balise file dans mon javasript j'ai mis :

    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
    var getFileName = function (uri)
    {
    var fileName = uri.substr(uri.lastIndexOf("/") + 1);
    return fileName.substr(0, fileName.lastIndexOf("."));
    };
     
    var nomFichier = getFileName(document.URL);
    var fichier = xmlData.getElementsByTagName(nomFichier.replace('_', '.'));
     
    for(i = 0; i < fichier[0].getElementsByTagName("commentaire").length; i++)
    {
    ....
    fichier[0].getElementsByTagName("fn")[i].childNodes[0].nodeValue;
    ....
    }
    mais je trouve pas pour récupérer la balise author..
    Car je suis un niveau trop haut dans le xml.

    Je voudrais avoir quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(i = 0; i < fichier[0].getElementsByTagName("commentaire")[i].BALISE(AUTHOR).length; i++)
        AFFICHER AUTHOR;
    Je ne peux pas modifier la structure du xml.

    Quelqu'un a une idée ??

    Merci.

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Je comprends pas
    tu cherche un élément dont le nom est "un nom de fichier" nomFichier.replace('_', '.') mais je ne vois rien qui resemble de près ou de loin à un nom de fichier.
    ensuite tu prends le premier élément de la liste retournée sans vérifier qu'elle existe ni qu'elle n'est pas vide fichier[0].

    si je comprends bien ensuite tu cherche tous les commentaires de fichier[0]. Mais là tu ne nous donne pas tout ton code et visiblement tu ne récupère pas le commentaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    commentairesDuFichier0 = fichier[0].getElementsByTagName("commentaire")
    for(i = 0; i < commentairesDuFichier0.length; i++)
    {
      ....
      commentaireI = commentairesDuFichier0[i];
      auteursDuCommentaire = commentaireI.getElementsByTagName('author');
      //on a ici la liste des auteurs il faut vérifier que la liste existe et n'est pas vide
      ...
      fichier[0].getElementsByTagName("fn")[i].childNodes[0].nodeValue;
      ....
    }
    je ne vois pas où est le problème.

    A+JYT

Discussions similaires

  1. Metadata XML - plusieurs balises avec le même nom
    Par Viceloque dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 05/03/2020, 13h23
  2. [Google Maps] Des villes qui portent le même nom dans diffèrents pays
    Par bhrochdi dans le forum APIs Google
    Réponses: 2
    Dernier message: 15/10/2014, 11h18
  3. [MySQL] Stocker plusieurs variables qui portent le même nom
    Par Cyclone200 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/12/2012, 00h16
  4. Réponses: 3
    Dernier message: 04/03/2007, 19h00
  5. supprimer les fichiers qui ont des mêmes noms
    Par manaboko dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2006, 09h09

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