Diziyi Xml’ye Çevirme

PHP
48 lines
<?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();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

XML
32 lines
<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>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX