Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2011, 17h26   #1
Invité de passage
 
Inscription : juillet 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 6
Points : 2
Points : 2
Par défaut Parser XML avec jQuery pour un attribut fixé

Bonjour,

J'ai un fichier XML nommé config.xml
Code :
1
2
3
4
5
6
<?xml version='1.0' encoding='UTF-8'?>
<langues>
   <libelle lg="fr">Texte en français</libelle>
   <libelle lg="en">Texte en anglais</libelle>
   <libelle lg="es">Texte en espagnol</libelle>
</langues>
et je cherche à récupérer directement le contenu pour l'anglais.

J'ai essayé des dizaines de syntaxe mais qui n’ont pas abouti au résultat souhaité "Texte en anglais"
En autre :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
$(window).ready(
   function()
      {
      $.ajax( {
      type: "GET",
      url: "config.xml",
      dataType: "xml",
      success: function(xml)
            {
            var texte = $(xml).find("libelle [lg='en']").text();
            }
         });
      }
);
</script>
Cette tentative ne marche pas non plus.
Est-ce possible sans utiliser la fonction each() ?

Si vous avez une piste...
Merci de votre aide
Cordialement
tonio17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 17h28   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Code :
var texte = $(xml).find("libelle [lg='en']:eq(0)").text();
Code :
1
2
 
var texte = $(xml).find("libelle [lg='en']").eq(0).text();
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 17h35   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Code :
find("libelle [lg='en']")
Avec cette syntaxe, tu cherches plutôt parmi les enfants de chaque balise "libelle" ceux dont l'attribut "lg" vaut "en", ce que tu souhaites serait plutôt
Code :
find("libelle[lg='en']")
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 17h47   #4
Invité de passage
 
Inscription : juillet 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 6
Points : 2
Points : 2
Citation:
Envoyé par SpaceFrog Voir le message
Code :
var texte = $(xml).find("libelle [lg='en']:eq(0)").text();
Code :
1
2
 
var texte = $(xml).find("libelle [lg='en']").eq(0).text();
...ça ne marche pas non plus .
tonio17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 17h48   #5
Invité de passage
 
Inscription : juillet 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 6
Points : 2
Points : 2
Citation:
Envoyé par Bovino Voir le message
Code :
find("libelle [lg='en']")
Avec cette syntaxe, tu cherches plutôt parmi les enfants de chaque balise "libelle" ceux dont l'attribut "lg" vaut "en", ce que tu souhaites serait plutôt
Code :
find("libelle[lg='en']")
...ça ne marche pas non plus .
Si ça marche ! C'est bien cette dernière solution.
Je me suis seulement planté dans mon test local.
Un grand merci.
Bonne soirée.
tonio17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 19h19   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Code :
.find("libelle[lg='en']").eq(0)
?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 19h35   #7
Invité de passage
 
Inscription : juillet 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 6
Points : 2
Points : 2
Citation:
Envoyé par SpaceFrog Voir le message
Code :
.find("libelle[lg='en']").eq(0)
?
Non, cela n'apporte rien de plus.
Code :
var texte = $(xml).find("libelle[lg='en']").text();
ou
Code :
var texte = $(xml).find("libelle[lg='en']").eq(0).text();
renvoie le même résultat.
Et puis si je ne trompe eq(0) demande le premier index.
Mais l'index je ne le connais pas pour ma demande : l'ordre des langues pouvant être quelconque.
Ce que je cherchais c'est justement de pouvoir paramétrer ma requête avec la langue souhaitée et d'obtenir directement la bonne chaîne.

Merci à toi
tonio17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 20h19   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
ben le premier index de lg=fr ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h57.


 
 
 
 
Partenaires

Hébergement Web