Mettre en forme un fichier XML récupéré dynamiquement
25 messages
• Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
Mettre en forme un fichier XML récupéré dynamiquement
Hello à tous
Je récupère un fichier XML généré par Amazon, et je souhaiterais savoir COMMENT je peux le mettre en forme.
J'ai commencé à chercher, et ce que j'ai trouvé me laisse à penser qu'il faut déclarer soit des styles CSS, soit un fichier XST, tous deux DANS le fichier XML. Or moi, le récupérant chez Amazon, je ne peux modifier celui-ci.
Qqun peut-il m'éclairer ?
Je récupère un fichier XML généré par Amazon, et je souhaiterais savoir COMMENT je peux le mettre en forme.
J'ai commencé à chercher, et ce que j'ai trouvé me laisse à penser qu'il faut déclarer soit des styles CSS, soit un fichier XST, tous deux DANS le fichier XML. Or moi, le récupérant chez Amazon, je ne peux modifier celui-ci.
Qqun peut-il m'éclairer ?
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
arf... j'ai aucune idée de comment faire tout ça :/
Ben je suis pas dans la mouise moi
merci quand meme
Ben je suis pas dans la mouise moi
merci quand meme
- epsilon74
- WRInaute occasionnel

- Messages: 444
- Inscription: 17 Mar 2004
le flux xml est proposé par Amazon dans les webservices.
Par contre :
"Utiliser notre plateforme Webservices nécessite des connaissances dans le domaine du développement de sites internet. Il est par exemple préférable d'avoir des connaissances sur SOAP, HTML, et Perl ou d'autres programmes de langage, comme XML ou XSLT, et d'être capable d'écrire et de travailler avec CGI scripts (ou mod_perl ou équivalent) et Network, qui facilite le transfert de données.
"
Sinon, le plus simple (mais pas le plus "propre") est de récuperer le flux, le parser et l'integrer en base de donnée. Puis tu generes tes pages depuis cette base. Mais avec des gros flux, ça peut devenir tres lourd.
Le mieux (plus propre mais beaucoup plus complexe à mon avis) est XSLT.
Cherches un peu, il y a des tuto sur le net (j'ai plus les adresses en tête) sur comment parser un flux XML.
Par contre :
"Utiliser notre plateforme Webservices nécessite des connaissances dans le domaine du développement de sites internet. Il est par exemple préférable d'avoir des connaissances sur SOAP, HTML, et Perl ou d'autres programmes de langage, comme XML ou XSLT, et d'être capable d'écrire et de travailler avec CGI scripts (ou mod_perl ou équivalent) et Network, qui facilite le transfert de données.
"
Sinon, le plus simple (mais pas le plus "propre") est de récuperer le flux, le parser et l'integrer en base de donnée. Puis tu generes tes pages depuis cette base. Mais avec des gros flux, ça peut devenir tres lourd.
Le mieux (plus propre mais beaucoup plus complexe à mon avis) est XSLT.
Cherches un peu, il y a des tuto sur le net (j'ai plus les adresses en tête) sur comment parser un flux XML.
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
C'est leur programme Amazon Web Services
Ils te permettent de générer un XML rien qu'en entrant un ISBN, par exemple.
Je me disais que je pourrais générer une fiche livre rien qu'avec un ISBN, mais il faudrait pour cela pouvoir transformer le XML en HTML.
Et je sais pas faire :/
J'ai bien trouvé des tutos, mais il faut pour cela déclarer un fichier XST dans le XML, et comme je ne peux pas retoucher celui-ci.. et que je ne sais pas le réécrire, je suis coincé :/
Ils te permettent de générer un XML rien qu'en entrant un ISBN, par exemple.
Je me disais que je pourrais générer une fiche livre rien qu'avec un ISBN, mais il faudrait pour cela pouvoir transformer le XML en HTML.
Et je sais pas faire :/
J'ai bien trouvé des tutos, mais il faut pour cela déclarer un fichier XST dans le XML, et comme je ne peux pas retoucher celui-ci.. et que je ne sais pas le réécrire, je suis coincé :/
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
espilon
J'ai effectivement trouvé de tels tutos, par exemple ici :
http://www.asp-php.net/tutorial/xml/index.php
Mais ces cours supposent que tu es le propriétaire du flux XML, et que donc, tu peux y rajouter une petite ligne... Dans mon cas, je ne peux pas :/
Donc je suppose qu'effectivement, il va me falloir l'aide d'un développeur avec + de bagages que moi, parce que autant je suis capable de bidouiller, là c'est déjà plus complexe. Dommage
J'ai effectivement trouvé de tels tutos, par exemple ici :
http://www.asp-php.net/tutorial/xml/index.php
Mais ces cours supposent que tu es le propriétaire du flux XML, et que donc, tu peux y rajouter une petite ligne... Dans mon cas, je ne peux pas :/
Donc je suppose qu'effectivement, il va me falloir l'aide d'un développeur avec + de bagages que moi, parce que autant je suis capable de bidouiller, là c'est déjà plus complexe. Dommage
- French Fred
- WRInaute occasionnel

- Messages: 265
- Inscription: 12 Fév 2004
Bonjour,
Pour appliquer une xsl, il y a deux solutions.
Soit en mode client (javascript), soit en mode server (php, asp, ...).
Pour appliquer la transformation en mode server via php, il y a les fonctions xslt de php:
http://www.php.net/xslt
http://www.php.net/manual/fr/ref.xsl.php
http://www.php.net/manual/fr/function.d ... rocess.php
Il te reste a dompter les xslt via http://www.w3schools.com/xsl/default.asp.
Bonne continuation
FRed
Pour appliquer une xsl, il y a deux solutions.
Soit en mode client (javascript), soit en mode server (php, asp, ...).
Pour appliquer la transformation en mode server via php, il y a les fonctions xslt de php:
http://www.php.net/xslt
http://www.php.net/manual/fr/ref.xsl.php
http://www.php.net/manual/fr/function.d ... rocess.php
Il te reste a dompter les xslt via http://www.w3schools.com/xsl/default.asp.
Bonne continuation
FRed
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
C'est surement pas du grand art (le parsage du XML est ici assez... basique) mais ça marche bien.
Utilisé ici :
http://localhost/hellawaits/articles/fo ... 050505.php
ou encore
http://www.voipfr.org/boutique-voip.php (mais sans cache, donc lent).
Si vous modifiez le code, je suis bien sûr intéressé par les patchs / ajouts de fonctionnalités.
J'ai supprimé l'exemple de code. Il est disponible gratuitement sur http://www.netoscope.org/scripts.php , où seront centralisées les contributions et modifications. Le code est diffusé sous licence de logiciel libre (a priori, licence CPL).
Utilisé ici :
http://localhost/hellawaits/articles/fo ... 050505.php
ou encore
http://www.voipfr.org/boutique-voip.php (mais sans cache, donc lent).
Si vous modifiez le code, je suis bien sûr intéressé par les patchs / ajouts de fonctionnalités.
J'ai supprimé l'exemple de code. Il est disponible gratuitement sur http://www.netoscope.org/scripts.php , où seront centralisées les contributions et modifications. Le code est diffusé sous licence de logiciel libre (a priori, licence CPL).
Dernière édition par ecocentric le Mer Juil 20, 2005 11:14, édité 1 fois.
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
Merci à vous deux
Ecocentric, ça me parait un peu touffu, est ce que ce serait abuser de ton amabilité que de te demander un rapide commentaire sur les fonctions qui constituent ta class ?
Parce que j'ai regardé, je vois pas comment les mettre en oeuvre (bon en mm temps, j'ai des petits yeux aujourd'hui, trop cherché / lu de trucs sur le XML, j'en peux plus).
Ecocentric, ça me parait un peu touffu, est ce que ce serait abuser de ton amabilité que de te demander un rapide commentaire sur les fonctions qui constituent ta class ?
Parce que j'ai regardé, je vois pas comment les mettre en oeuvre (bon en mm temps, j'ai des petits yeux aujourd'hui, trop cherché / lu de trucs sur le XML, j'en peux plus).
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
FrenchKiss a écrit:Merci à vous deux
Ecocentric, ça me parait un peu touffu, est ce que ce serait abuser de ton amabilité que de te demander un rapide commentaire sur les fonctions qui constituent ta class ?
Parce que j'ai regardé, je vois pas comment les mettre en oeuvre (bon en mm temps, j'ai des petits yeux aujourd'hui, trop cherché / lu de trucs sur le XML, j'en peux plus).
- Code: Tout sélectionner
<?php
include "mon fichier PHP avec l'objet Amazon";
function display_books ($aws, $affid, $asincode)
{
for ($i=0; $i<count($asincode); $i++)
{
$asin = $asincode[$i];
$text = show_book_asin ($aws, $affid, $asin);
if ($text!="Error")
echo $text;
}
}
?>
<?php
$aws = new AmazonWs;
$aws->subscriptionID = "TA CLEF AMAZON WS";
$affid = "TON ID AFFILIE AMAZON";
?>
Voili voilou...
display_books ($aws, $affid, $asincode) prend un objet (celui de mon post précédent, ton numéro d'affilié Amazon et un ASIN.
Il y a moyen d'obtenir une liste de bouquin à partir d'un mot-clef en utilisant "search_by_keyword" plutôt que "show_book_asin".
Je pourrais t'aider lundi si tu as un problème (j'ai d'autres codes sur le côté, il faudrait que je recentralise une fois et que je le diffuse).
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
C'est redoutable, merci beaucoup pour ton intervention, que je qualifierais de divine si j'étais porté sur la chose
MERCI !
En revanche, la fonction display_books semble coincer quelque part : dès que je la mets en oeuvre, je me retrouve avec une page blanche, source vide.
Si je la supprime, et appelle directement
Au passage, j'ai constaté que niveau présentation, ça se passait DANS la classe. C'est pas joli joli tout ça
je vais essayer de déméler ça, et si j'arrive à quelque chose de plus propre et plus flexible, je te le ferai savoir dans ce topic, ok ?
Merci encore et bon week end.
MERCI !
En revanche, la fonction display_books semble coincer quelque part : dès que je la mets en oeuvre, je me retrouve avec une page blanche, source vide.
Si je la supprime, et appelle directement
- Code: Tout sélectionner
echo display_books ($aws, $affid, $asincode);
Au passage, j'ai constaté que niveau présentation, ça se passait DANS la classe. C'est pas joli joli tout ça
Merci encore et bon week end.
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
FrenchKiss a écrit:Au passage, j'ai constaté que niveau présentation, ça se passait DANS la classe. C'est pas joli joli tout ça
En effet. J'espère que mon prof. d'info ne l'a pas vu
FrenchKiss a écrit:je vais essayer de déméler ça, et si j'arrive à quelque chose de plus propre et plus flexible, je te le ferai savoir dans ce topic, ok ?
Bonne idée !
FrenchKiss a écrit:Merci encore et bon week end.
De rien
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
Hop là, la même fonction, mais au format XHTML, pour permettre n'importe quelle mise en forme avec CSS.
Je pense encore la modifier de mon coté, pour permettre à mes users de rajouter leurs commentaires sur le livre affiché.
- Code: Tout sélectionner
function show_book_asin ($aws, $affid, $asin)
{
$aws->itemtype = "Books";
if ($aws->search_by_asin ($asin)==true)
{
$temp = "<div id=\"".$asin."\" class=\"livre\">";
for ($i=0; $i<$aws->recordcount; $i++)
{
if ($aws->item[$i]->mediumimage_url)
$temp .= "<div class=\"couverture\"><a href=\"http://www.amazon.fr/exec/obidos/ASIN/$asin/$affid\" target=\"blank\"><img src='" . $aws->item[$i]->mediumimage_url . "' width='" . $aws->item[$i]->mediumimage_width . "' height='" . $aws->item[$i]->mediumimage_height . "' border='0'></a></div>\n";
$temp .= "<div class=\"texte\"><div id=\"titre\">" . $aws->item[$i]->title . "</div><div class=\"auteur\">par " . $aws->item[$i]->author . " chez " . $aws->item[$i]->publisher . "</div>
<div class=\"prix\">Prix : " . $aws->item[$i]->amount . " " . $aws->item[$i]->currencycode . " (<a href=\"http://www.amazon.fr/exec/obidos/ASIN/$asin/$affid\" target=\"blank\">commander</a>)</div></div>\n";
}
$temp .= "</div>";
}
else
$temp = $aws->error;
return $temp;
}
Je pense encore la modifier de mon coté, pour permettre à mes users de rajouter leurs commentaires sur le livre affiché.
- FrenchKiss
- WRInaute discret

- Messages: 187
- Inscription: 6 Oct 2004
Par contre, quand $asincode est un tableau, la fonction me renvoie une erreur, et je n'arrive pas à voir pkoi.
- Code: Tout sélectionner
include "includes/libaws.php";
function display_books ($aws, $affid, $asincode)
{
for ($i=0; $i<count($asincode); $i++)
{
$asin = $asincode[$i];
$text = show_book_asin ($aws, $affid, $asin);
if ($text!="Error") { echo $text; }
}
}
- Code: Tout sélectionner
$aws = new AmazonWs;
$aws->subscriptionID = "XXXXXXXXXXXX";
$affid = "xxxxxxxxxxx";
$asincode = array("2876918749","2710116332","2710112825","2100052896");
echo show_book_asin ($aws, $affid, $asincode);
25 messages
• Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Les fichier à mettre sur le sitemap.xml
- Est il possible de mettre google analytic dans 1 fichier xml
- Peut-on mettre des swf dans le fichier sitemap.xml
- Création de fichier KML dynamiquement et balise <address>
- Mettre en forme un élément suivant un autre(CSS)
- GME: Recuperer des donnees atom pour les mettre sous forme d
- sitemap.xml ou il faut le mettre?
- Fichier XML - Découpage
- Lecture fichier XML
- decouper un fichier xml
- La syndication de contenu : afficher un flux RSS sur son site
- Comment gérer simplement les sitemaps de plusieurs sites au même endroit
- Chercher des fichiers KML dans Google Earth
- Exalead rejoint le protocole Sitemaps.org
- Déclarer son fichier sitemap dans le fichier robots.txt
- Tutoriel sur le sitemap Google pour les images
- Sitemaps : protocole commun pour Google, Yahoo et Live Search
- Google Enterprise a son blog
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

