lire fichier XML en javascript
10 messages
• Page 1 sur 1
-

Pierrot25 - WRInaute occasionnel

- Messages: 446
- Inscription: 17 Mar 2005
lire fichier XML en javascript
Bonjour a tous
J'arrive pas a trouver ce que je veux sur internet alors je vous demande votre aide.
Voila, en admettant que j'aie un flux xml de la sorte :
Comment, EN JAVASCRIPT, je peux boucler sur les nœuds "address" et accéder à l'id et à la description ? J'ai trouvé plusieurs fonctions (getElementsByTagName("addresses"), firstChild.data, firstChild.text, firstChild.nodeValue, etc) sur internet mais je n'y arrive pas a faire ce que je veux...
Merci à celui qui pourra me mettre sur la bonne voie !
J'arrive pas a trouver ce que je veux sur internet alors je vous demande votre aide.
Voila, en admettant que j'aie un flux xml de la sorte :
- Code: Tout sélectionner
<addresses>
<address>
<id>17800630.00</id>
<description>E G Dodson & Son Ltd 427 High Road London</description>
</address>
<address>
<id>17800638.00</id>
<description>Moloneys 429 High Road London NW10</description>
</address>
<address>
<id>17800637.00</id>
<description>New Golden 425 High Road London</description>
</address>
[...]
</adresses>
Comment, EN JAVASCRIPT, je peux boucler sur les nœuds "address" et accéder à l'id et à la description ? J'ai trouvé plusieurs fonctions (getElementsByTagName("addresses"), firstChild.data, firstChild.text, firstChild.nodeValue, etc) sur internet mais je n'y arrive pas a faire ce que je veux...
Merci à celui qui pourra me mettre sur la bonne voie !
-

cleden - WRInaute passionné

- Messages: 1194
- Inscription: 6 Jan 2003
Salut,
J'ai fait un petit script, je ne sais pas si c'est exactement ce que tu cherches. Quelques lignes de JS suffisent à afficher le flux A CONDITION qu'un parser php existe quelque part: http://www.cap-sizun.com/cap,flux-rss.html
Et pour être plus précis, le parser javascript rss-js.php:
Loïc
J'ai fait un petit script, je ne sais pas si c'est exactement ce que tu cherches. Quelques lignes de JS suffisent à afficher le flux A CONDITION qu'un parser php existe quelque part: http://www.cap-sizun.com/cap,flux-rss.html
Et pour être plus précis, le parser javascript rss-js.php:
- Code: Tout sélectionner
<?
$flux = $_GET['flux'];
$nb_items = $_GET['nb_items'];
$file = fopen($flux,"r");
if ($file) {
while (!feof($file)) $raw .= fread($file,32000);
fclose( $file );
if(eregi("<item>(.*)</item>",$raw,$rawitems)){
$items = explode("<item>", $rawitems[0]);
$nb = count($items);
$maximum = (($nb-1) < $nb_items) ? ($nb-1) : $nb_items;
ob_start();
echo "document.write('<ul>');"."\n";
for ($i=0;$i<$maximum;$i++) {
eregi("<title>(.*)</title>",$items[$i+1], $title);
if ($_GET['desc']=="y"){eregi("<description>(.*)</description>",$items[$i+1], $descript);}
eregi("<link>(.*)</link>",$items[$i+1], $link);
eregi("<rm>(.*)</rm>",$items[$i+1], $rm);
eregi("<enclosure url=\"(.*)\" length",$items[$i+1], $enclosure);
echo "document.write('<li><a href=\"".$link[1]."\">".addslashes($title[1])."</a></li>')";
if ($_GET['desc']=="y" && strlen($descript[1])>150){echo "document.write('<p>".addslashes(substr($descript[1], 0, 150))." <a href=\"".$link[1]."\">[...]</a></p>');"."\n";}
elseif (strlen($descript[1])>5){echo "document.write('<p>".addslashes(substr($descript[1], 0, 150))."</p>');"."\n";}
if ($_GET['photos']=="y"){
echo "document.write('<p><img src=\"".$enclosure[1]."\" /></p>');"."\n";
}
}
echo "document.write('</ul>');";
$contenuCache = ob_get_contents();
ob_end_flush();
}
}
?>
Loïc
-

Pierrot25 - WRInaute occasionnel

- Messages: 446
- Inscription: 17 Mar 2005
merci Loic mais ce que tu me donnes c'est du code PHP... je trouve pas le javascript
en fait j'en ai besoin pourpour afficher dans une page HTML (donc sans la recharger) des infos venant d'un flux XML generé par un script AJAX...
du coup, j'ai besoin de javascript pur...
en fait j'en ai besoin pourpour afficher dans une page HTML (donc sans la recharger) des infos venant d'un flux XML generé par un script AJAX...
du coup, j'ai besoin de javascript pur...
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
regarde pê dans les frameworks Ajax ce qu'ils utilisent pour la lecture XML.
-

Pierrot25 - WRInaute occasionnel

- Messages: 446
- Inscription: 17 Mar 2005
en fait j'ai peur que le probleme (comme la verite) soit ailleurs !
j'ai donc toujours mon fichier XML :
j'ai trouve des exemples javascript sur d'autres sites et voila le resultat
si je fais
j'obtiens 1 avec FF et 0 sous IE (alors que dans l'exemple que j'ai je devrais visiblement trouver une valeur de 4 puisque j'ai 4 noeuds address )
autre PB, si je fais
FF et IE me disent : docXML.childNodes() is not a function !
je comprends pas, je l'invente pas, je l'ai vu sur plusieurs sites! pourquoi ca marche pas chez moi ?!
merci de m'aider, j'en ai marre de tourner en rond
j'ai donc toujours mon fichier XML :
- Code: Tout sélectionner
<addresses>
<address>
<id>17800630.00</id>
<description>E G Dodson & Son Ltd 427 High Road London NW10</description>
</address>
<address>
<id>17800638.00</id>
<description>Moloneys 429 High Road London NW10</description>
</address>
<address>
<id>17800637.00</id>
<description>New Golden Duck Restaurant 425 High Road London NW10</description>
</address>
<address>
<id>17800640.00</id>
<description>Schiavi Pole Brett Ltd 409 High Road London NW10</description>
</address>
<addresses>
j'ai trouve des exemples javascript sur d'autres sites et voila le resultat
si je fais
- Code: Tout sélectionner
docXML.childNodes.length
j'obtiens 1 avec FF et 0 sous IE (alors que dans l'exemple que j'ai je devrais visiblement trouver une valeur de 4 puisque j'ai 4 noeuds address )
autre PB, si je fais
- Code: Tout sélectionner
docXML.childNodes(2).childNodes.length
FF et IE me disent : docXML.childNodes() is not a function !
je comprends pas, je l'invente pas, je l'ai vu sur plusieurs sites! pourquoi ca marche pas chez moi ?!
merci de m'aider, j'en ai marre de tourner en rond
- nikox
- Nouveau WRInaute

- Messages: 4
- Inscription: 4 Mai 2005
Pierrot25 a écrit:
- Code: Tout sélectionner
docXML.childNodes(2).childNodes.length
FF et IE me disent : docXML.childNodes() is not a function !
je comprends pas, je l'invente pas, je l'ai vu sur plusieurs sites! pourquoi ca marche pas chez moi ?!
je pense que c pas
- Code: Tout sélectionner
docXML.childNodes(2).childNodes.length
mais
- Code: Tout sélectionner
docXML.childNodes[2].childNodes.length
childNodes est en fait un tableau des éléments enfant que tu peux trouver en utilisant des indices numériques.
- Anouar86
- Nouveau WRInaute

- Messages: 1
- Inscription: 16 Avr 2010
Re: lire fichier XML en javascript
Salut
SVP j'ai le même problème que vous et je n'arrive pas à m'en sortir ( Lecture d'un fichier XML avec javascript )
Est ce que vous pouvez me fournir la solution que t'as trouvée ??
Un grand merci d'avance
SVP j'ai le même problème que vous et je n'arrive pas à m'en sortir ( Lecture d'un fichier XML avec javascript )
Est ce que vous pouvez me fournir la solution que t'as trouvée ??
Un grand merci d'avance
10 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [flash] lire et traiter un fichier xml
- [réglé] Lire et écrire un fichier XML en PHP
- JAVASCRIPT : parcourir fichier xml
- Comment lire un flux xml sur mon site
- PHP. Quelle technique pour lire du xhtml comme du xml ?
- lire un fichier ioncube
- Google ne sait-il vraiment pas lire le javascript ?
- Lire un fichier .wav dasn Flash
- Lire et écrire dans un fichier txt?
- Question pour lire un fichier distant.
- Google rejoint le projet Open AJAX créé par IBM
- La syndication de contenu : afficher un flux RSS sur son site
- Indexation du Flash : Google sait gérer les XML/txt externes
- Contraintes d'emplacement du Sitemap
- Déclarer son fichier sitemap dans le fichier robots.txt
- Sitemaps : protocole commun pour Google, Yahoo et Live Search
Consultez la description détaillée des produits ou services de Google suivants : API Google Checkout
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
