XML d'un tableau

gazalii Messages postés 104 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 13 février 2008 - 27 mars 2007 à 16:16
gazalii Messages postés 104 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 13 février 2008 - 27 mars 2007 à 16:42
Bonjour,
je veux faire un flux XML sous la forme suivante
<racine>
  <element>
     <valeur1>test</valeur1>
    <valeur2>test2</valeur2>
</element>
<element>
    <valeur1>test</valeur1>

    <valeur2>test2</valeur2>

</element>
</racine>

voici la fonction que j'ai fait elle affichage au lieu de <element> </element> et sans la fermer

function getXml($aElement){
        $sDocXml     = new DOMDocument ('1.0', 'iso-8859-1');
        $xml         = $sDocXml -> createElement ('racine');
        $xml         = $sDocXml -> appendChild ($xml);
        foreach ($aElement as $iKey=>$sVal){
            $sElement     = $sDocXml -> createElement ('element');
            $xml -> appendChild ($sElement);
            foreach ($sVal as $key=>$val){
                    $sElement     = $sDocXml -> createElement ($key);
                    $xml -> appendChild ($sElement);
                    $sValeur     = $sDocXml -> createTextNode (utf8_encode($val));
                    $sElement -> appendChild ($sValeur);
        }
        return $sDocXml->save("file1.xml");
    }
}

merci

1 réponse

gazalii Messages postés 104 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 13 février 2008
27 mars 2007 à 16:42
c'est bon je l'ai trouvé
function getXml($aElement){
        $sDocXml     = new DOMDocument ('1.0', 'iso-8859-1');
        $xml         = $sDocXml -> createElement ('racine');
        $xml         = $sDocXml -> appendChild ($xml);
        $i=0;
        foreach ($aElement as $iKey=>$sVal){
            $sElement = $sDocXml -> createElement ('element');
            $xml  -> appendChild ($sElement);
            foreach ($sVal as $index=>$valeur){                if ($valeur '') $valeur " ";
                $sSousElement = $sDocXml -> createElement ($index);
                $sElement -> appendChild ($sSousElement);
                $sValSouElement = $sDocXml -> createTextNode ($valeur);
                $sSousElement -> appendChild ($sValSouElement);
            }
        }
        return $sDocXml->save("file1.xml");
    }
0
Rejoignez-nous