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

EDI, CMS, Outils, Scripts et API PHP Discussion :

script php pour convertir un array en xml


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut script php pour convertir un array en xml
    je suis en train de modifier le script array2xml
    voila ce que mon nouveau code:
    Code php : 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
    <?php
    function is_assoc($var)
    {
            return is_array($var) && array_diff_key($var,array_keys(array_keys($var)));
    }
     
    function array2xml($buffer) {
        $xml  = htmlspecialchars('<?xml version="1.0" encoding="utf-8"?>').'<br/>';
        $xml .= htmlspecialchars('<service version="1.0"\>').'<br/>';	
        foreach($buffer as $val) {
            $xml .= htmlspecialchars('    <document>').'<br/>';
            foreach ($val as $key => $value) {
                $xml .= htmlspecialchars('        <'.$key.'>');
    			if(is_assoc($value)) {
    			//echo '<br/>';
    				foreach($value as $va) {
    					foreach ($va as $k => $v) {
    						$xml .= htmlspecialchars ('<'.$k.'>'.utf8_encode($v).'</'.$k.'>').'<br/>';
    					}
    				}
    				$xml.=htmlspecialchars('</'.$key.'>').'<br/>';
    			} else $xml.=htmlspecialchars(utf8_encode($value).'</'.$key.'>').'<br/>';
            }
    		$xml .= htmlspecialchars('    </document>').'<br/>';
        }
        $xml .= htmlspecialchars('</service>').'<br/>';    
        return $xml;
    }
     
    // exemple d'utilisation 
    $ar = array("var1" => "val1","var2" => "val2");
    $arr = array(
                    array("id" => "1", 
                          "pseudo" => "mq", 
                          "name" => "marc",
    					  "tab" => $ar),
                    array("id" => "2",
                          "pseudo" => "poppy",
                          "name" => "axel")
                );
     
    $xml = array2xml($arr);
    echo $xml;
    ?>
    quand j’exécute j'ai ce qui suit:

    Warning: Invalid argument supplied for foreach() in C:\Program Files\Apache Group\Apache2\htdocs\wdCalendar\wdCalendar\php\tist.php on line 17

    Warning: Invalid argument supplied for foreach() in C:\Program Files\Apache Group\Apache2\htdocs\wdCalendar\wdCalendar\php\tist.php on line 17
    <?xml version="1.0" encoding="utf-8"?>
    <service version="1.0"\>
    <document>
    <id>1</id>
    <pseudo>mq</pseudo>
    <name>marc</name>
    <tab></tab>
    </document>
    <document>
    <id>2</id>
    <pseudo>poppy</pseudo>
    <name>axel</name>
    </document>
    </service>
    ou est l'erreur?

  2. #2
    Membre habitué
    Profil pro
    retraité
    Inscrit en
    Mars 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 127
    Points : 128
    Points
    128
    Par défaut
    ton script n'est pas récursif donc il explore qu'un niveau dans les tableaux (array)
    peut etre que $result=var_export($my_array,true) t'aiderait
    et tu bricoles sur $result

  3. #3
    Membre habitué
    Profil pro
    retraité
    Inscrit en
    Mars 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 127
    Points : 128
    Points
    128
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    echo "<PRE>";
    $a=array("nom"=>"toto rigolo","enfants"=>array("vincent"=>array("jeremie"),"irene"),"age"=>"60");
    $c=var_export($a,TRUE);
    $t=explode("\n",$c);
    $indent=0;
    foreach ($t as $v) {
            $v=trim($v);
            if ($v=="array (") { $indent++;continue;}
            for ( $i=0; $i< $indent ;$i++) echo "\t";
            echo "$v\n";
            if ( strstr($v,')')) {$indent--;continue;}
    }

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pourquoi extract ????

  5. #5
    Membre habitué
    Profil pro
    retraité
    Inscrit en
    Mars 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 127
    Points : 128
    Points
    128
    Par défaut
    parce que j ai pris un bout de code que j ai modifié les deux premieres lignes ne sont pas utiles désolé
    j ai modifié

Discussions similaires

  1. Réponses: 10
    Dernier message: 09/08/2016, 18h56
  2. Script php pour Modifier fichier XML
    Par filoo85 dans le forum Langage
    Réponses: 1
    Dernier message: 18/12/2012, 16h53
  3. [Web Service] Recherche script php pour xml-rpc dotclear
    Par php_de_travers dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 18/10/2009, 18h41
  4. [MySQL] Script PHP pour générer un fichier xml
    Par totofe49 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/05/2007, 15h12
  5. [[xml]->[php]->[MySQL]] script php pour lire du xml
    Par koudjo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 30/06/2006, 03h18

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