XML Ayrıştırma Hatası Line Number 2, Column 1 ve çözümü

Merhaba arkadaşlar ;

Eğer WordPress kullanıyorsanız ve host değiştirdiyseniz bu hatayı alabilirsiniz.  İlk önce eklentilerinizi kapatıp açınız daha sonra aşağıdaki işlemleri deneyebilirsiniz.

Geçen gün Henster arkadaşım host değiştirmişti. Host değiştikten sonra RSS lerinde bir hata oluşmuş ve /feed adresini açmaya kalktığı zaman.

XML Ayrıştırma Hatası: xml işleme komutu harici varlığın başında değilLocation: http://www.henster.org/feed/Line Number 2, Column 1:<?xml version=”1.0″ encoding=”UTF-8″?>

Hatayı biraz incelediğim zaman gördüm ki XML dosyasında bir boşluk kod olarak algılanıyor ve server tarafından okunamıyor. W3.Org nin FEED sayfasında test ettiğimde karşıma ..

1.
2. <?xml version=”1.0″ encoding=”UTF-8″?>

Böyle bir hata getirdi.  1. satırda bir boşluk var ve bu boşluğu kaldırmamız gerektiği bana söyleyince açıkcası kara kara düşünmeye başladım. Öncelikle WordPress Destek sayfasında 10larca konu okudum bununla alakalı fakat malesef ki çözümünü tam ve kesin bir yerde bulamadım.

Herkesin söylediği şey  :  <? ?> kodları arasında bir boşluk kodu var ve kaldırılması gerekiyormuş. Ulen iyide hangi sayfanın hangi satırında bu boşluk kodu var ?

En sonunda aradım taradım ve buldum.

Sorun : <?  kodu ile  ?> kodları arasında bir yerde bir boşluk var. RSS görüntüleyiciniz çıktı vermiyor. Karşımıza hata sayfası çıkıyor.

Bu kodlar arasındaki boşluğu silmemiz gerekiyor.

ÖR:

<? php kodlarınız

kod kodlarınız kod ;

?>

Olarak yazıldığı zaman bazı HOST lar bunu okuyamamakta…

Olması gereken :

<? php kodlarınız

kod kodlarınız kod ;?>

Peki hangi dosyada bu boşluk olabilir ?

wp-config
wp-rss2
wp-atom
wp-rss
wp-feed
/includes/functions.php

Başlıca kontrol etmeniz gereken dosyalar bunlar. Bu dosyalardan birisinde muhakkak ki..

kodlarınız kod ;

yada

kodlarınız kod ;

?>

olarak son kapatma imleci ve soru işaretinden önce bir boşluk varsa

kodlarınız kod ;?>

şekline getirerek düzeltiniz. Bu dosyalarınızın içerisindeki bu boşluktan dolayı XML de size bir boşluk hatası verebiliyor. Ayrıca Feedburner’de XML dosyanızı malesef ki okuyamıyor.

2. Yöntem ;

Wp-includes klasörü içerisindeki ;

feed-rss.phpfeed-rss2.php, feed-rss2-comments.php,  feed-atom.php,  feed-atom-comments.php, feed-rdf.php dosyaları içerisindeki

<?php echo ‘<?xml version=”1.0″ encoding=”‘.get_option(’blog_charset’).’”?’.’>’; ?>

kodun başına

// koyarak bu sorunu çözebilirsiniz.

Yani kodumuzu şu hale getiriyoruz.

//<?php echo ‘<?xml version=”1.0″ encoding=”‘.get_option(’blog_charset’).’”?’.’>’; ?>

www.teakolik.com/feed olarak RSS lerinizi bu hatayı düzelttikten sonra halledebilirsiniz. Biraz önce Henster arkadaşımın internet sayfası www.henster.org adresinin FEED leri çalışmaya başladı.

Haaaa unutmadan ben hangi dosyada buldum hatayı ?

wp-rss2 , wp-rss ve functions.php dosyaları içerisinde bu boşlukları buldum bir güzel temizledim canavar gibide çalışıyor artık…

Hadi kolay gelsin…

“XML Ayrıştırma Hatası Line Number 2, Column 1 ve çözümü” üzerine 58 yorum

  1. Bu Teakolik süper bir adam. Harbiden. 🙂 Problemi çözdün ya teo hocam helal olsun.

    Sadece ben değil bu hatayla karşılaşan diğer blogcularında çok işine yarayacaktır eminim.

    Teşekkürler.

    Yanıtla
  2. ben de bu hatanın aynısını alıyorum fakat şöyle bir durum var: web sitenin örneğin ZiyaretciDefteri.aspx sayfasını yerelde çalıştırıyorum, sorun yok ama servera atınca bu hatayı veriyor 🙁

    ASP.NET sorusu oldu ama herhalde bir fikriniz vardır diye yazdım…

    Yanıtla
  3. [CODE]
    önceki hali:
    değiştirmiş:
    [/CODE]

    bu şekilde değiştirince düzeldi. ama hatanın bu olmadığını düşünüyorum 🙁

    Yanıtla

  4. önceki hali:
    değiştirmiş:

    bu şekilde değiştirince düzeldi. ama hatanın bu olmadığını düşünüyorum 🙁

    Yanıtla
  5. Merhaba arkadaşlar,

    .net için problem çözülmedi. Bütün xml dosyalarını ve xml üreten dosyaları kontrol ettim. Başka bir şeyler bu sorunu çıkarıyor olabilir mi?

    Not: Bu arada urlrewriting kullanıyoruz bu projede diğer projelerimizden farklı olarak. Bu da sebebiyet veriyor olabilir mi?

    Hepinize kolay gelsin. İyi çalışmalar.

    Yanıtla
  6. Bu hata için başka bir çözüm yada sorun yok. Tamamiyle XML dosyasını üreten ASP veya PHP dosyalarınızın 1. ile Son satırladındaki bir BOŞLUK karakter olarak algılanıyor ve hata çıktı olarak karşımıza geliyor.

    Yanıtla
  7. vallahi çok komik 🙂 sinirimden gülüyorum yaa.

    ozgur diye bir klasörüm var. FTPden upload ettim sorun çıkmadı. 1 hafta sonra bi baktım:

    XML Ayrıştırma Hatası: eleman bulunamadıLocation: http://vanim.net/ozgur/Anasayfa.aspxLine Number 1, Column 1:

    şeklinde bir hata. Durduk yerde oldu yani :S :(((

    sonuç: .NET için çözüm bulabilmiş değilim :/

    Yanıtla
  8. Hocam ilgin için çoook teşekkürler. Allah razı olsun. nasıl hallettiğimi söyliyeyim. belki birilerinin işine yarar.

    örneğin ZiyaretciDefteri.aspx sayfamızda bu hatayı alınca

    using System.Xml ;

    namespace’ini yazınca halloldu. İlginç değil mi Nedenini, nasılını sormayın ben de bilmiyorum 🙂

    Bir klasörün sayfalarının hiçbirinin görünmemesinin, bu hatayı vermesinin sebebi de “Rol Tabanlı Güvenlik” kullanırken bir klasörü iki ayrı Web.Config’den kısıtlamammış…

    Siz siz olun benim yaptığımı yapmayın 😀

    Yanıtla
  9. Hocam, değil dediğiniz dosyalar, wp dizinimde de kurulu hiçbir php dosyasında bahsettiğiniz şekilde kod bırakmadım, hepsini düzelttim, hatta diğer her türlü boş satırları yok ettim fakat sorunum yine de düzelmedi. Ben ömrümde böyle aptal bir hata görmedim. İlk satır boşmuş. İkinciye atlasa ya o zaman baktın bi bok yok ilk satırda geç ötekine. hay yarabbim ya.

    Yanıtla
  10. komedi devam ediyor benim beslememde.. şimdi de feed validatör Congratulations aslansın kaplansın diyor ama ben tarayıcılarımın hepsinde aynı hatayı görmeye devam ediyorum.

    Yanıtla
  11. capital ;

    Yazılım öyle dediğiniz gibi 1. satır olmassa ben 2. satırı okuyayım diyemez malesef. Sanırım yeni bir hostinge geçiş yaptınız ve yeni hostunuzda eskisine nazarak XML okumada faklılık var. Sakin kafayla tekrar kontrol edin. Sorun sadece Boşluk karkterinden kaynaklanıyor. Dikkatlice tekrar kontrol ediniz.

    Yanıtla
  12. Sorunu Bi Arkadaşımda Yaşamıştı Sonra çözdü ama sormadım nasıl olduğunu ama sayende az çok bişiler öğrendik 😀 saol

    Yanıtla
  13. Biraz önce aynı sorundan ben de kafayı yemiştim, buradaki önerilere uydum ve RSS’im düzeldi, çok teşekkür ederim hocam 😀

    Yanıtla
  14. captie :
    Hocam, değil dediğiniz dosyalar, wp dizinimde de kurulu hiçbir php dosyasında bahsettiğiniz şekilde kod bırakmadım, hepsini düzelttim, hatta diğer her türlü boş satırları yok ettim fakat sorunum yine de düzelmedi. Ben ömrümde böyle aptal bir hata görmedim. İlk satır boşmuş. İkinciye atlasa ya o zaman baktın bi bok yok ilk satırda geç ötekine. hay yarabbim ya.

    Dediğiniz herşeyi yapmama rağmen sorun devam etmekte aynı arkadaşta da olduğu gibi. Gözümden kaçması mümkün değil. Başka birşeyden kaynaklanabilir mi acaba?

    Yanıtla
  15. Merhaba TeaKolik.

    Sizin kadar açıklayıcı yazan yoktu. Bu açığı kapattığınız için teşekkürler. Bir sorum olacaktı.

    Diğer dosyaları düzenledim. Ancak functions.php ‘de sorun çıktı. functions.php ‘nin son satırında bunlar var;

    return $can_clone ? clone( $object ) : $object;
    }

    ?>

    Son kısmını );?> yaptım olmadı, ;)?> yaptım olmadı. Ne önerirsiniz ?

    Yanıtla
  16. @ TeaKolik

    Evet onları değiştirdim. Ancak functions.php olmuyor. Bu yüzden de hala aynı hatayı alıyorum. Yukarda bahsettiğim şekillerde değiştirdiğimde ise functions.php de satır hatası alıyorum.

    Yanıtla
  17. @Cenk
    Bu dosyaların dışında bir olasılık aklıma gelmiyor. Şimdiye kadar 2-3 arkadaşta aynı problem vardı editledim düzeldi. Yorum yazanlara bakarsan onlarda düzelmiş. Dikkatlice tekrar kontrol etmeni tavsiye ederim. Son olarak Gtalk’a gel müsait olduğumda beraber bir elden geçirelim.

    Yanıtla
  18. @TEAkolik

    ) değil } imiş. Ben yanlış yazmışım. Ancak yine de farketmiyor. Dediğin gibi yaptım, hata veriyor.

    Verdiği hata;

    Parse error: syntax error, unexpected $end in /var/www/vhosts/xxxxxx.com/httpdocs/wp-includes/functions.php on line 2913

    Yanıtla
  19. Sadece php kodu yazılı dosyalarınızda, dosya sonuna “?>” php kapama tagını koymanıza gerek yok, tag kapanmadan da, php sıkıntız işlem yapabiliyor ve bu şekilde dosyanız başka yere include edilse de sorun çıkmıyor.

    Bu tagı dosya sonundan kaldırarak da, bu durumda yaşandığı gibi, istenmeyen baş satırın sayfaya yazdırılması ve bunun hataya sebep olmasının önüne kolayca geçilebilir.

    Yanıtla
  20. @ TeaKolik
    Gerçekten bu yazı için çok teşekkür ederim. Dün benim RSS’in çalışmadığını farkettim. Hem de birkaç haftadır böyleymiş. Dün geceden beri çözmek için resmen kafayı yedim. Bu yazı sayesinde sorunu çözdüm. Süpersin:)

    Yanıtla
  21. Deniyorum ama olmuyor. Genel bir çözüm için belirttiğiniz dosyaları zip’leyerek yayınlar mısın? Belki de beceremiyorum diye.

    Yanıtla
  22. cok tesekkurler, kodlamalardaki boslukları aradım fakat o sekılde duzeltemedım, ancak 2.yondem yanı // ekleyerek sorunum halloldu.

    Yanıtla
  23. merhaba, bu konuya bi çözüm sunduğunuz için teşekkür ederim.Bende de aynı sorun vardı, ilk yöntemi uygulayarak çözüldü.Tekrar sağol

    Yanıtla
  24. MSN görüşme kayıtlarının tutulduğu dosyayı açmak istediğimde ;
    XML ayrıştırma hatası: kapanmamış jeton
    Konum: file:///D:/HS/Kay%C4%B1t/asiprenses253955752523.xml
    Satır: 149, Sütun: 73053:
    diye bi hata alıyorum bunu nasıl düzeltebilirim YARDIMMMM 🙁

    Yanıtla
  25. Merhabalar. birlikyapi. net adresimdeki xml. hatası ile buradaki hata aynı ancak yaptığınız şekilde çözüme ulaşamadım.

    Yanıtla
  26. Kimse temadan kaynaklanabileceğini yazmamış.
    1 . si en son yüklediğiniz eklentileri etkisizleştirp, tarayıcınızın geçmişini temizleyip deneyin.
    2. si başka bir tema seçerek deneyin, muhtemelen temanızın funtion.php ayarlarından kaynaklanıyor
    3. sü wp-inlude klasöründeki feed dosyalarındaki boşluktan kaynaklanıyor.

    Yanıtla

Yorum yapın