XML ayrıştırma hatası: xml işleme komutu harici varlığın başında değil

admin tarafından, Web Programcılığı kategorisinde yayınlandı. | Etiketler: , , , , , , ,

Siteharitası Protokolü sayesinde bir web tasarımcısı arama motorlarını, bir web sitesindeki taranacak URLler hakkında bilgilendirebilir. Bir site haritası bir sitedeki URLleri listeleyen bir XML dosyasıdır. Bu dosya sayesinde web tasarımcıları, taranacak sayfalarının üzerinde daha fazla kontrole sahip olurlar. Arama motorlarına hangi sayfanın ne sıklıkla değiştiği, en son ne zaman güncellendiği ve sitedeki hangi sayfa diğerlerinden daha önemli, öncelikli gibi bilgileri bu dosya ile gönderebilirler. Bu yolla arama motorları web sitelerini tararken daha verimli olabilmektedirler. Site haritaları yapı itibariyle robots.txt URL hariç tutma protokolünün tamamlayıcısı olan bir URL dahil etme protokolüdür. (Wikipedia)

Site haritalarının tanımını Wikipedia‘dan aldıktan sonra, gelelim ipucumuza. Hazır içerik yönetim sistemi, blog ya da site şablonu kullanmayan ve kendi kodlamalarını yaparak içerik yönetimi gerçekleştiren kişiler, genellikle kendi site haritalarını yine kendi yazdıkları kodlarla oluşturmak isterler. Site haritası (SiteMap) mantığını anlayabilirler ama tüm kodlamayı yaptıktan sonra iş denemeye geldiğinde, üst üste hatalar almaya başlarlar. Bunlardan en dertli olanı da, başlıkta belirttiğim “XML ayrıştırma hatası: xml işleme komutu harici varlığın başında değil” hatasıdır.

XML Hatası

Bu hata, içeriğinden de anlaşılabileceği gibi xml işleme komutu olan “<?xml version=”1.0″ encoding=”UTF-8″?>” satırının, XML sayfası işlendiğinde diğer varlıkların başında olmamasından kaynaklanıyor.

ASP Site Haritası Kodu

Birçok kod yazarı, bu hatayı giderebilmek için türlü yollara başvuruyor, tüm kodlamadaki “boşlukları” siliyor ama bir türlü sorunu çözemiyor. Araştırma yapıyor, herkes daha önce denenen yöntemleri öneriyor. Velhasılıkelâm sorun bir şekilde çözülüyor ama nasıl olduğu anlaşılamıyor. Daha sonraki PHP/ASP ile hazırlanan XML kodlamalarında aynı hata ile karşılaşabiliyor. Hemen ulaşılabilir bir kaynak olması ve böyle bir sorun ile karşılaşıldığında hemen çözüme ulaşılabilmesi için bu ipucunu yazma gereği duydum.

Aslında bu hatanın çözümü gayet basit.

<?xml version=”1.0″ encoding=”UTF-8″?>” XML işleme komutunu sayfanın en başına getirdiğinizde, bu kafa karıştıran hatayı da çözmüş olacaksınız.

Hatayı düzelten kod

Resimde de gördüğünüz üzere, XML işleme komutu artık varlıkların en üstünde. Böylece hatasız bir site haritası oluşturmuş olacaksınız.

Güncelleme 1: Halen sorun yaşıyorsanız, aşağıdaki şekilde çözüme ulaşabilirsiniz:

ASP:

[php]<% Response.Write("<?xml version=""1.0"" encoding=""UTF-8""?>"+Vbcr) %>[/php]

PHP:

[php]<?php echo "<?xml version=""1.0"" encoding=""UTF-8""?>"?>[/php]

<?xml version=”1.0″ encoding=”iso-8859-9″?>

Sponsorlar

Kullanıcı İşlemleri

Etiketler

önizleme ücretsiz addon analiz antivirüs asp bileşen blog chrome codec divx eklenti Firefox görev çubuğu güncelleme Güvenlik hata HKEY_LOCAL_MACHINE ICQ IIS inetmgr Internet Information Services klasör messenger microsoft mozilla msn norton php problem regedit security services.msc sistem çubuğu Türkçe Türkçe Yazılım video vista Windows Windows-1254 Windows Live Windows Live Messenger windows xp Wordpress xp

Bağlantılar

Güncel Yorumlar

Güncel İçerikler