php ile xml yazdırma.
Merhaba arkadaşlar
Kusura bakmayın acemiliğime verin belki size komik gelecek ama benim php kodları ile bir xml dosyası yazdırmam gerekiyor.
Elimde $baslik,$konu,$resim,$link değişkenlerine atanmış veriler var bunları
aşağıdaki xml şablonuna yazdırmam lazım
<items>
<playlist_name>-= $baslik =-</playlist_name>
<channel>
<title><![CDATA[$konu]]></title>
<logo_30x30><![CDATA[ $resim ]]></logo_30x30>
<description><![CDATA[<img src="$resim ">]]></description>
<stream_url><![CDATA[$link ]]></stream_url>
</channel>
</items>
Tabi bu bir kere değil altalta 0nlarca defa yazmalı eğer yardımcı olabilirseniz çok memnun olacağım .
Php
Öncelikle bir php dosyası oluşturun örn: adı playlist.php olsun
php dosyası içeriği;
header("Content-type: text/xml\n\n");
<?xml version="1.0" encoding="UTF-8"?>
<items>
<playlist_name>-= $baslik =-</playlist_name>
while($i < 100){
++$i;
?>
<channel>
<title><![CDATA[$konu]]></title>
<logo_30x30><![CDATA[ $resim ]]></logo_30x30>
<description><![CDATA[<img src="$resim ">]]></description>
<stream_url><![CDATA[$link ]]></stream_url>
</channel>
<?php } ?>
</items>
bu şekilde yaptığınızda 99 defa döner mesela.
php
Öncelikle cevap için teşekkürler,
Parse error: syntax error, unexpected '}' in C:\wamp\www\playlist.php on line 24
şeklinde hata verdi 24. satırda <?php } ?> var
Php
şu satır sakıncalı. içinde soru işaretli açılış kodu var.
<?xml version="1.0" encoding="UTF-8"?>
böyle yap
Php
pardon ben ona dikkat etmemişim. drekon hocamın dediği gibi o satırı tek tırnak içerisinde echo ile basarsanız düzelicektir; hatta yine hata var :D ben napmışım böyle yaa :D:DD:
<?php
header("Content-type: text/xml\n\n");
echo'<?xml version="1.0" encoding="UTF-8"?>;
?>
<items>
<playlist_name>-= <?=$baslik;?> =-</playlist_name>
while($i < 100){
++$i;
?>
<channel>
<title><![CDATA[<?=$konu;?>]]></title>
<logo_30x30><![CDATA[ <?=$resim;?> ]]></logo_30x30>
<description><![CDATA[<img src="<?=$resim;?> ">]]></description>
<stream_url><![CDATA[<?=$link;?> ]]></stream_url>
</channel>
<?php } ?>
</items>
çalışan örnek bu şekildedir.
php
Gene aynı yerde hata verdi
Parse error: syntax error, unexpected '}' in C:\wamp\www\playlist.php on line 28
28 . satır <?php } ?> şeklindedir.
Php
öncelikle son günlerde yoğun çalışmamdan dolayı aşırı dikkatsiz olduğumu kabullenerek cevap vermeye başlayayım. yaptığım hatalar için özür dilerim. bu da verirse kendimi balkondan aşağı atmayı planlıyorum :)
<?php
header("Content-type: text/xml\n\n");
echo'<?xml version="1.0" encoding="UTF-8"?>;
?>
<items>
<playlist_name>-= <?=$baslik;?> =-</playlist_name>
<?php
while($i < 100){
++$i;
?>
<channel>
<title><![CDATA[<?=$konu;?>]]></title>
<logo_30x30><![CDATA[ <?=$resim;?> ]]></logo_30x30>
<description><![CDATA[<img src="<?=$resim;?> ">]]></description>
<stream_url><![CDATA[<?=$link;?> ]]></stream_url>
</channel>
<?php } ?>
</items>
php
estafurullah hocam ne özürü.asıl ben özür dilerim bu yoğunlukta başınıza iş açtım .
Ama gene çalışmadı aşağıdaki hatayı verdi
XML ayrıştırma hatası: iyi düzenlenmiş değil
Konum: http://localhost/playlist.php
Satır: 2, Sütun: 25: <playlist_name>-= <?=$baslik;?> =-</playlist_name>
aslında diğer hatalardan farklı bir hata sanki php çalışmış gibi.Gibi değil çalıştı tek eksik $başlik,$konu,$resim,$link gibi değişkenlerin içeriğinin yerlerine yazılmaması.Yani o değişkenleri php nin içerisinden çıkardığımda
çalışıyor eklediğimde yukarıdaki hatayı alıyorum.Son bir şey bu dosya çalışınca kaydını nereye yapacak.
Php
Başımıza iş açmak mı ? :) olurmu öyle şey. Bu forum herkesin soruunu çözmek amacı ile yapıldı ve öylede olması gerekli değilmi üstad. siz sorucaksınız ben biliyorsam cevaplayacağım, siz biliyorsanız benim sorduğumu cevaplacaksınız. Bu şekilde pilgi paylaşımı çıkıcak ortaya üstad.
evet php taraflı hata yok fakat hatanın nedeni iki türlü olabilir.
1.si tekrarlanması gereken şeylerin tekrarlanmaması 2. olarakta değişkenlerin boş olması olabilir dicemde sanmam değişkenler boş olduğunda pek hata vermez.
şu şekilde bir deneyin.
<?php
$baslik='aaa';
$resim='a.jpg';
$link='http://www.google.com';
header("Content-type: text/xml\n\n");
echo'<?xml version="1.0" encoding="UTF-8"?>;
while($i < 100){
++$i;
?>
<items>
<playlist_name>-= <?=$baslik;?> =-</playlist_name>
<channel>
<title><![CDATA[<?=$konu;?>]]></title>
<logo_30x30><![CDATA[ <?=$resim;?> ]]></logo_30x30>
<description><![CDATA[<img src="<?=$resim;?> ">]]></description>
<stream_url><![CDATA[<?=$link;?> ]]></stream_url>
</channel>
</items>
<?php } ?>
bu kodun yukardakinden tek farkı. <items> etiketlerinide tekrarlıyor olması. ve değişkenlerin içinin boş olmaması. bi deneyin.
Hocam tabiki değişkenlerin içeriği dolu.Hatta üsteki verdiğiniz kodu daha önce denedim.Yani herşeyi size bırakmadan değişik varyasyonlar deniyorum.Kızmazsanız php kodunda küçük bir hatanın olduğunu bile söyleyebilirim
echo'<?xml version="1.0" encoding="UTF-8"?>;
açılan tırnak sonunda kapanmamış. Tabi bu ufak hataları ben kendim düzeltiyorum .
Neticeye gelecek olursak gene çalışmadı ve aşağıdaki hatayı verdi.
XML ayrıştırma hatası: belge elemanından sonra çöp
Konum: http://localhost/playlist.php
Satır: 2, Sütun: 1:<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>