Bonjour,
ne pratiquant pas jusqu'à présent xml, je n'ai jamais utilisé les fonctions node et j'ai des soucis de compréhension, d'autant que je ne sais pas si mes problèmes viennent de ma mauvaise utilisation de Javascript ou de ma mauvaise création de fichier XML. Je m'explique : je souhaite "parser" un fichier xml que l'on va me fournir. Pour les besoins du test, j'en construit un à partir des meta tags du monde, par exemple :
Je postule qu'il est correctement constitué puisque autant IE que FF arrivent à le lire sans m'insulter. MAis bon ... pouvez-vous le confirmer ?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 <entete> <meta><robots><valeur data="INDEX"/><valeur data="FOLLOW"/><valeur data="NOARCHIVE"/></robots></meta> <meta><description><valeur data="LE MONDE, Journal Le Monde, quotidien d\'information francophone / Le Monde, the french quality newspaper of record"/></description></meta> <meta> <keywords> <valeur data="LE MONDE"/> <valeur data=" INFORMATIONS"/> <valeur data=" INFOS"/> <valeur data=" QUOTIDIEN"/> <valeur data=" DAILY NEWS"/> <valeur data=" PRESSE"/> <valeur data=" PRESS"/> <valeur data=" NEWS"/> <valeur data=" FRANCE"/> <valeur data=" FRENCH"/> <valeur data=" DOSSIERS"/> <valeur data=" ECONOMIE"/> <valeur data=" ECONOMY"/> <valeur data=" CULTURE"/> <valeur data=" INTERNATIONAL"/> <valeur data=" BOURSE"/> <valeur data=" CINEMA"/> <valeur data=" MOVIES"/> <valeur data=" LIVRES"/> <valeur data=" BOOKS"/> <valeur data=" MULTIMEDIA"/> <valeur data=" EDUCATION"/> <valeur data=" FORUMS"/> <valeur data=" FORUM"/> <valeur data=" SERVICES"/> <valeur data=" ABONNEMENTS"/> <valeur data=" BOUTIQUE"/> <valeur data=" EMPLOI"/> <valeur data=" EXPOSITIONS"/> <valeur data=" FESTIVALS"/> <valeur data=" SPORT"/> <valeur data=" MAGAZINE"/> <valeur data=" EUROPEEN"/> <valeur data=" DIPLOMATIQUE"/> <valeur data=" PARTENAIRES"/> <valeur data=" PUBLICITE"/> <valeur data=" LETTRES D\'INFORMATIONS"/> <valeur data=" NEWSLETTERS"/> <valeur data=" JOURNAL EN LIGNE"/> <valeur data=" LE MONDE ON LINE"/> <valeur data=" VERSION PALM"/> <valeur data=" VERSION MOBILES"/> <valeur data=" MOBILE SERVICES"/> <valeur data=" METEO"/> <valeur data=" ARCHIVES"/> <valeur data=" DOCUMENTATION"/> <valeur data=" NOUVELLES TECHNOLOGIES"/> <valeur data=" HIGH TECH"/> <valeur data=" TRADUCTEUR"/> <valeur data=" TRANSLATOR"/></keywords></meta></entete>
Une structure de type :
a été "validée" ici http://www.developpez.net/forums/sho...d.php?t=150901Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <metatags> <robots> <option>INDEX</option> <option>FOLLOW</option> <option>NOARCHIVE</option> </robots> <description> <lang xml:lang="fr">LE MONDE, Journal Le Monde, quotidien d'information francophone</lang> <lang xml:lang="en">Le Monde, the french quality newspaper of record</lang> </description> <keywords> <keyword>LE MONDE</keyword> <keyword>INFORMATIONS</keyword> <keyword>INFOS</keyword> <keyword>QUOTIDIEN</keyword> </keywords> </metatags>
Ensuite, je souhaite parcourir ce document, tel un singe moyen, passant de branche en branche, noeud par noeud pour reprendre les termes javascript mais la
me retourne toujours 1Code:
1
2
3
4
5
6
7 function zz_affiche_datas(stream) { var vl_datas = stream; monfils=vl_datas.firstChild; alert("children.childNodes.length ->"+vl_datas.childNodes.length);
donc rien n'est renvoyé par
niCode:
1
2
3
4
5
6 for(var i=0;i<monfils.childNodes.length;i++){ nextNode = monfils.childNodes[i]; alert("attributes.length ->"+nextNode.attributes.length); ... }
Je dois donc me mélanger les pinceaux avec les noeuds, attributs etc !! Je suis pommé, helpCode:
1
2
3
4
5 while (monfils!=null) { alert(monfils.nodeName); monfils = monfils.nextSibling; }