IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

comment convertir en php un flux rss en csv ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webcodebricole
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webcodebricole

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Par défaut comment convertir en php un flux rss en csv ?
    Bonjour,

    J'ai un fichier php pour créer un flux rss, je souhaite créer à partir de ce fichier un autre fichier mais csv ou tout au moins transformer mon actuel fichier rss en csv automatiquement.

    Je n'ai pas trouver grand chose sur la toile à par ces 2 liens :

    http://stackoverflow.com/questions/8...o-csv-with-php

    https://github.com/bcantoni/rss-to-csv (implique une action donc pas automatique)

    Mon flux est sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php
    require_once('../includes/func.php');
     
    if ...{
        ...
    }
    else{
     
    header("Content-type: text/xml; charset=utf-8");
    ?>
    <rss version="2.0"  xmlns:g="http://base.google.com/ns/1.0">
    <channel>
    <title>.....</title>
    <description>.....</description>
    <link>....</link>
    <pubDate>...</pubDate>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="...." type="application/rss+xml" />
    <?php
     
        if ($resultRSS){
            foreach ( $resultRSS as $row ){
    .........
     
                ?>
    .....
                <item>
                    <title><![CDATA[.....]]></title>
                    <link>....</link>
                    <description><![CDATA[.... ]]></description>
                    <g:google_product_category>....</g:google_product_category>
                    <g:condition>...</g:condition>
                    <g:shipping>
                <g:country>....</g:country>
                <g:service>......</g:service>
                <g:price>......</g:price>
              </g:shipping>
              <g:brand>.....</g:brand>
              <g:mpn>.....</g:mpn>
                    <g:id>.....</g:id>
                    <g:availability>...</g:availability>
                    <g:price>....</g:price>
                    <g:phone>....</g:phone>
              <g:product_type>.....</g:product_type>
                </item>
    <?php }?>     
                <?php
            }
        }
    $ocdb->closeDB();
    ?>
     </channel>
    </rss>
     
    <?php
     
    }//if else
     
    ?>
    Toute aide même petite est la bienvenue..

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne comprends pas ta difficulté.
    Tu construis actuellement un flux RSS à partir de données que tu parcours.
    Construis ton CSV de la même façon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $csv .= $country . ';' . $price . ';' . .....
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Inactif
    Homme Profil pro
    Sans emploi
    Inscrit en
    Septembre 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Sans emploi

    Informations forums :
    Inscription : Septembre 2014
    Messages : 35
    Par défaut
    TOus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    header('content-type: application/xml; charset=utf-8');
    <rss>
     
    ....
    </rss>
     
     
    ?>

  4. #4
    Membre averti
    Homme Profil pro
    Webcodebricole
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webcodebricole

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Par défaut
    Bonjour,

    Merci de vos retours je tente ça ce soir..

    Merci encore..

  5. #5
    Membre averti
    Homme Profil pro
    Webcodebricole
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webcodebricole

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Par défaut
    Bonsoir,

    Comme je ne suis pas sur d'avoir tout saisi, j'ai fait ce code, mais je ne trouve pas ça très propre en plus du soucis d'utf8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    31
    32
    33
     
    <?php
    require_once('../includes/func.php');
     
    if ...{
        ...
    }
    else{
     header('content-type: text/csv; charset=utf-8');
    ?>
    Id ;libelle ;description ;categorie ;sous_categorie ;prix ;date_maj ;photos
    <?php
     
        if ($resultRSS){
            foreach ( $resultRSS as $row ){
    .........
     
                ?>
    .....
    row_de_Id ;row_de_libelle ;row_de_description ;row_de_categorie ;row_de_sous_categorie ;row_de_prix ;row_de_date_maj ;row_de_photos
    <?php }?>     
                <?php
            }
        }
    $ocdb->closeDB();
    ?>
     
     
    <?php
     
    }//if else
     
    ?>
    Y a t-il un code plus propre à me conseiller, sachant que je ne suis pas une lumière en code et ça doit ce voir..

    Merci d'avance..

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Qu'est ce qui ne te vas pas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [XL-2007] Comment convertir un export pdf en excel ou csv ?
    Par Debutant10 dans le forum Macros et VBA Excel
    Réponses: 26
    Dernier message: 16/07/2012, 20h37
  2. commenter un element d'un flux rss?
    Par nouraty dans le forum Débuter
    Réponses: 2
    Dernier message: 30/08/2010, 10h51
  3. Convertir date d'un flux RSS
    Par matmat0 dans le forum Langage
    Réponses: 0
    Dernier message: 21/04/2008, 15h40
  4. [PHP-JS] Flux RSS dynamique
    Par rifly01 dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2007, 19h40
  5. [PHP-JS] flux RSS sur SON site
    Par Ice-tea dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2006, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo