Diziyi Xml’ye Çevirme

<?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>