Bonjour,
Je voudrais pouvoir récupérer du texte situé entre 2 balises d'un fichier HTML, je ne vois pas très bien comment faire.
J'ai quelque chose comme ceci :
Merci pour votre aide!Code:<balise>Texte à récupérer</balise>
webrider
Version imprimable
Bonjour,
Je voudrais pouvoir récupérer du texte situé entre 2 balises d'un fichier HTML, je ne vois pas très bien comment faire.
J'ai quelque chose comme ceci :
Merci pour votre aide!Code:<balise>Texte à récupérer</balise>
webrider
bonjour,
Code:
1
2 <balise id="idbalise">Texte à récupérer</balise>
Code:
1
2 var texte = document.getElementById("idBalise").innerHTML
Merci pour ta réponse Auteur!
Ca marche aussi sur un objet XML? Quand je fais ça sur un tel objet j'obtiens comme valeur "undefined" ....
webrider
Pour être plus clair je vais donner mon code.
J'évite le code HTML qui ne pose pas problème.
15.js
XMLCode:
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 window.onload = initAll; var xhr = false; function initAll() { document.getElementById("makeXMLRequest").onclick = getFile; } function getFile() { var url = "/cp.xml"; xhr = new XMLHttpRequest(); xhr.open("GET", url, false); xhr.send(null); if (xhr) { var docXML = xhr.responseXML; var allLabels = docXML.getElementsByTagName("LABEL"); var allValues = docXML.getElementsByTagName("VALUE"); var message = ""; for (var i=0; i<allLabels.length; i++) { message = message + "<br>" + allLabels[i].innerHTML + " " + allValues[i].innerHTML; } document.getElementById("updateArea").innerHTML = message; } return false; }
Lorsque je clique sur le lien (id='makeXMLRequest') j'invoque un XMLHttpRequest() pour charger le fichier XMLpuis je le parse pour obtnenir les valeurs Nom et Téléphone puis je les place dans un DIV pour qu'ils apparaîssent dans la page.Code:
1
2
3
4
5
6
7 <?xml version="1.0" encoding="iso-8859-1" ?> <choices> <item><label>Jean</label><value>0473874512</value></item> <item><label>Pierre</label><value>0471544512</value></item> <item><label>Jacques</label><value>0496458715</value></item> <item><label>Jacques</label><value>0479845120</value></item> </choices>
Le problème est qu'en cliquant sur le lien je reçois "undefined"! L'objet XML est pourtant correct (pas de souci sur le XMLHttpRequest), je ne vois pas où je me trompe. Un éclaircissement?
Merci!
là tu me poses une colle :oops:Citation:
Envoyé par webrider
Sinon, ta balise possède bien un id (cf. mon message précédent) ?
Dans le XML les balises <label> et <value> ne possèdent pas d'id mais je récupère leur valeur par getElementsByTagName donc théoriquement je devrais recevoir quelque chose, ce qui n'est malheureusement pas le cas...
Maintenant je pose cette question : innerHTML fait référence à des balises HTML, existe-t-il l'équivalent pour XML? C'est peut-être ça la cause...
Enfin si quelqu'un sait comment parser un objet XML avec JavaScript je suis preneur.
webrider
pour le XML il faut utiliser les fonctions DOM
avec
ca devrait être mieuxCode:
1
2
3 for (var i=0; i<allLabels.length; i++) { message += "<br/>" + allLabels[i].firstChild.nodeValue + " " + allValues[i].firstChild.nodeValue ; }
y'a une librairie dans les contributions pour la manipulation des balises XML ...
Oui impeccable ça marche! Merci aussi à SpaceFrog pour la librairie.Citation:
Envoyé par magnus2005