lire fichier XML en javascript
9 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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 !
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
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: 3577
- Inscription: Mar Fév 10, 2004 16:40
regarde pê dans les frameworks Ajax ce qu'ils utilisent pour la lecture XML.
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
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.
9 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- 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
- Google Enterprise a son blog
- Le blog officiel de Google au Japon
- Chercher des fichiers KML dans Google Earth
- Comment gérer simplement les sitemaps de plusieurs sites au même endroit
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 0 invités



le forum