<?php class dizidenXmlye{ var $dizi = []; var $xml = ''; function dizidenXmlye($dizi){ $this->dizi = $dizi; if(is_array($dizi) && count($dizi) > 0){ $this->xmlYapisi($dizi); }else{ $this->xml .= "veri yok"; } } function xmlYapisi($dizi){ foreach($dizi as $k=>$v){ if(is_array($v)){ $etiket = preg_replace('/^[0-9]{1,}/','veri',$k); $this->xml .= "<$etiket>"; $this->xmlYapisi($v); $this->xml .= "</$etiket>"; }else{ $etiket = preg_replace('/^[0-9]{1,}/','veri',$k); $this->xml .= "<$etiket>$v</$etiket>"; } } } function xmlGetir(){ $ustbilgi = "<?xml version=\"1.0\" encoding=\"utf-8\"?><ana>"; $altbilgi = "</ana>"; echo $ustbilgi; echo $this->xml; echo $altbilgi; } } $ornek = [ 0=>['makale'=> ['id'=>1,'baslik'=>'baslik','icerik'=>'icerik.','olusturma'=>'2008-07-28 12:01:06','degistirme'=>''] ], 1=>['makale' => ['id'=>2,'baslik'=>'baslik2','icerik'=>'icerik2','olusturma'=>'2008-07-28 12:01:06','degistirme'=>'',['asdfgh']] ], 2=>['makale'=> ['id'=>3,'baslik'=>'baslik3','icerik'=>'icerik3','olusturma'=>'2008-07-28 12:01:06','degistirme'=>''] ] ]; $xml = new dizidenXmlye($ornek); header ("Content-type: text/xml"); echo $xml->xmlGetir(); ?>
Çıktısı
<ana> <veri> <makale> <id>1</id> <baslik>baslik</baslik> <icerik>icerik.</icerik> <olusturma>2008-07-28 12:01:06</olusturma> <degistirme/> </makale> </veri> <veri> <makale> <id>2</id> <baslik>baslik2</baslik> <icerik>icerik2</icerik> <olusturma>2008-07-28 12:01:06</olusturma> <degistirme/> <veri> <veri>asdfgh</veri> </veri> </makale> </veri> <veri> <makale> <id>3</id> <baslik>baslik3</baslik> <icerik>icerik3</icerik> <olusturma>2008-07-28 12:01:06</olusturma> <degistirme/> </makale> </veri> </ana>