tu as modifié le xml ?
Version imprimable
tu as modifié le xml ?
Ben quand meme oui.
là je comprends plus alors...
Moi non plus :(. Comment cela peut il se faire :(:(:(
J'ai essayer ceci:
Et dans l'alerte ca m'affiche undefined alors pourquoi ca!!Code:alert(xhr.responseXML.documentElement.getElementsByTagName("livre1")[0].innerHTML);
je te l'ai dis, je l'ignore, le getElementsByTagName("livre1")[0] devrait récupérer la balise <livre1> et son contenu...
je ne vois pas pourquoi ça ne fonctionne pas..;
peut-être un alert sursi tant est que ça fonctionne, nous en apprendrais un peu plus ;)Code:xhr.responseXML.documentElement.innerHTML
Tu va rire, cela m'affiche undefined.
Alors que alert(xhr.responseText); m'affiche bien le contenu texte du xml.
lol, supprime les posts en trop...
jette un coup d'oeil au tuto, il doit bien y avoir une explication quelque part...
Ben je creuse je creuse mais je ne trouve rien :(:( Tu a epuisé toutes tes solutions? :(
là ouais :'(Citation:
Envoyé par cerede2000
je crois qu'il y a une fonction a appeller dans le tuto avant d'avoir accès à documentElement..., clean ou un truc comme ça...
J'ai essayer c'est cela:
Mais toujours rien. Bon on verra ca demin en esperant qu'un plus connaisseur vienne car je pense que tu n'est pas le seul a maitriser bien XML et tout ca sur le forum quand meme.Code:
1
2 reponse = clean(xhr.responseXML.documentElement); alert(reponse.getElementsByTagName("livre1")[0].innerHTML);
Merci deja pour ce que tu a fait.
oé, je ne vois pas ce qu'on peut essayer de plus là... désolé....
Bon j'ai remarquer quelque chose a mon avis ce que je veut faire on ne peut pas le faire de cette maniere.
Car j'ai essayer cela:
Et en faisant evoluer ("option")[0] on trouve bien tout les titres de livres.Code:alert(xhr.responseXML.documentElement.getElementsByTagName("option")[0].firstChild.nodeValue);
Alors qu'en faisant:
On a undefined.Code:alert(xhr.responseXML.documentElement.getElementsByTagName("livre1")[0].firstChild.nodeValue);
Donc ma question c'est comment faire pour recupere une partie seulement d'un XML comme par exemple:
Ici si je veut recupere, et donc afficher a l'ecran seulement:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <div style="text-align: left;"><?xml version="1.0" encoding="iso-8859-1"?> <root> <livre1> <option value='1'>Candide</option> <option value='2'>Zadig</option> </livre1> <livre2> <option value='3'>Dune</option> <option value='4'>La barriere de santaroga</option> </livre2> <livre3> <option value='5'>Petit nicolas</option> <option value='6'>Sorcierer bleu</option> </livre3> <livre4> <option value='7'>Biblio rose</option> <option value='8'>Collect verte</option> </livre4> </root></div>
Pour pouvoir l'utiliser apres, merci.Code:
1
2
3
4 <livre3> <option value='5'>Petit nicolas</option> <option value='6'>Sorcierer bleu</option> </livre3>
Bon alors ca y est j'ai reussi a faire ce que je voulait:
Cela m'affiche parfaiement ce que je veut mais ca ne marche pas sous firefox!! Alors si quelqun voit pourquoi ca m'arrangerai :):)!!Code:
1
2
3
4
5
6
7
8
9
10
11
12 function xmltxt(){ getXhr(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200) { document.getElementById("auteu").innerHTML= '<select name="livre2">' + xhr.responseXML.getElementsByTagName('livre2')[0].xml + '</select>'; } } xhr.open("GET", "results.xml", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(null); }
Merci beaucoup.
salut,
a mon avis le probleme que tu as est que quand on interroge directement un document xml, le navigateur ne reconnait pas forcement les headers.
Je sais que dans ie notamment, on est souvent obligé de lire le xml en php et le retourner en mettant auparavant un headers content-type en lui passant text/xml.
Pour ta solution, l'attribut xml n'existe pas dans firefox c'est pour ca que ca ne marche pas
Oui j'aivu qu'il n'existait pas, mais qu'est ce qui lui est equivalent, ou une fonction permettant de faire la meme chose?
ben le truc c'est que si tu passes par la reponse xml, tu es pas censé récupérer un bout de chaine xml comme ça mais parcourir les éléments et récupérer leur valeur avec nodeValue.
quand tu veux récupérer les balises comme du texte, c'est la réponse texte qu'il faut utiliser et parser comme du texte.
Sinon tu peux parcourir ton element avec la boucle for in pour voir toutes ses propriétés.
Une autre magouille consiste à créer un div avec createElement, lui affecter a son innerHTML le responseText et ensuite àccéder a son contenu en utilisant le DOM, là tu aura accès au innerHTML de tes select.
Ben si .xml a été creer pour IE du moins c'est qu'il peut etre utiliser pour ca.
Mais pour firefox galere quoi!!!