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 20/06/2011, 22h08   #1
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut parse fichier XML avec url dans le text

slt
je rencontre un soucis , je parse un fichier xml que je récupère par la méthode succes d'ajax.

jquery parse correctement jusqu’à ce qu'il trouve un noeud que j'ai nommé source dans lequel se trouve une url

fichier xml
Code :
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
 
<directories>  
    <dir name="1" depth="0"/>
    <file>
        <name>h _1.JPG</name>
        <source>http://localhost/devMediasService/photos/h _1.JPG</source>
        <size>609612</size>
    </file>
    <file>
        <name>IMG_0206.JPG</name>
        <source>http://localhost/devMediasService/photos/IMG_0206.JPG</source>
        <size>764395</size>
    </file>
    <dir name="ooo" depth="0">
        <file>
            <name>IMG_0220.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0220.JPG</source>
            <size>660493</size>
        </file>
        <file>
            <name>IMG_0228.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0228.JPG</source>
            <size>661391</size>
        </file>
    </dir>
ect .....
mon js callback de la fonction succes
Code :
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
 
 function addItem(xml){
 
    $(xml).each(function(){
 
       $(this).find("dir").each(function(i,e){
 
           alert("dir : "+$(e).attr('name'));
 
 
           $(e).find('file').each(function(j,f){
 
               alert("file  "+f);
 
              $(f).find('name').each(function(u,v){
 
                   alert("name : "+$(v).text());
 
               })
 
               $(f).find('source').each(function(u,v){
 
                   alert("source : "+$(v).text());
 
               })
 
 
           })
 
       })
 
    })
 
 }
j'affiche correctement le nom (name) mais pas la source,rien ne s'affiche, il y a t'il un moyen d'encapsuler mes url pour quelle passent??

merci A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 22h25   #2
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut xml parse nom de tag

re
j'ai trouvé la solution ;-)

apparemment jquery n'aime pas le tag <source> dans mon xml je l'ai remplacé par <src> et ça fonctionne.

si qq1 a une explication je suis preneur.

merci A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 23h11   #3
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Avec le fichier XML corrigé, je ne vois pas le problème.

Code :
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
47
48
49
50
51
52
53
54
55
56
57
/*
<directories>  
    <dir name="1" depth="0">
		<file>
			<name>h _1.JPG</name>
			<source>http://localhost/devMediasService/photos/h _1.JPG</source>
			<size>609612</size>
		</file>
		<file>
			<name>IMG_0206.JPG</name>
			<source>http://localhost/devMediasService/photos/IMG_0206.JPG</source>
			<size>764395</size>
		</file>
    </dir>
    <dir name="ooo" depth="0">
        <file>
            <name>IMG_0220.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0220.JPG</source>
            <size>660493</size>
        </file>
        <file>
            <name>IMG_0228.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0228.JPG</source>
            <size>661391</size>
        </file>
    </dir>
</directories>  
 
dir (name, depth) = ( 1 , 0 )
file name = h _1.JPG
file source = http://localhost/devMediasService/photos/h _1.JPG
file size = 609612
file name = IMG_0206.JPG
file source = http://localhost/devMediasService/photos/IMG_0206.JPG
file size = 764395
dir (name, depth) = ( ooo , 0 )
file name = IMG_0220.JPG
file source = http://localhost/devMediasService/photos/ooo/IMG_0220.JPG
file size = 660493
file name = IMG_0228.JPG
file source = http://localhost/devMediasService/photos/ooo/IMG_0228.JPG
file size = 661391
*/
 
$.get("XML-1.xml", function(data){
	$(data).find("directories").children().each(function(i, item){
		console.log("dir (name, depth) = (", $(item).attr("name"), ", ", $(item).attr("depth"), ")");
 
		$(item).children().each(function(j, jtem){
			console.log("file name = ", $(jtem).children("name").text());
			console.log("file source = ", $(jtem).children("source").text());
			console.log("file size = ", $(jtem).children("size").text());
		});
	});
}).error(function(){
	console.log(arguments);
});
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 11h07   #4
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
slt et merci
Citation:
Envoyé par danielhagnoul Voir le message

Avec le fichier XML corrigé, je ne vois pas le problème.
je ne vois pas l'erreur que tu as corrigée, je n’avais pas finit le fichier xml volontairement et avait laissé un etc.... de gros faignant ;-) milles excuses.

j'utilise la méthode ajax et non get cela peut t'il avoir une incidence?

depuis que j'ai changer source en src plus de soucis, par contre je ne comprend pas pourquoi , j'ai juste changé le nom de la balise.

merci A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 12h13   #5
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Code :
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
<directories>  
    <dir name="1" depth="0"/>
    <file>
        <name>h _1.JPG</name>
        <source>http://localhost/devMediasService/photos/h _1.JPG</source>
        <size>609612</size>
    </file>
    <file>
        <name>IMG_0206.JPG</name>
        <source>http://localhost/devMediasService/photos/IMG_0206.JPG</source>
        <size>764395</size>
    </file>
    <dir name="ooo" depth="0">
        <file>
            <name>IMG_0220.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0220.JPG</source>
            <size>660493</size>
        </file>
        <file>
            <name>IMG_0228.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0228.JPG</source>
            <size>661391</size>
        </file>
    </dir>
ect .....
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h38.


 
 
 
 
Partenaires

Hébergement Web