برگزیده های پرشین تولز

مشکل در ساخت سند XML با PHP

ariyayi

کاربر تازه وارد
تاریخ عضویت
10 مارس 2007
نوشته‌ها
10
لایک‌ها
0
محل سکونت
پاسارگاد
سلام

من توی تولید کد XML با PHP به مشکلی بر خوردم این کد رو ببینید :

PHP:
require_once('dbconnector.php');
opendatabase();

$query = sprintf('select * from store');
$result = mysql_query($query);

$rowXml = '<marker latitude="%s" longitude="%s" locname="%s"'
          . ' address="%s" city="%s" province="%s" postal="%s" />';

   $xml = "<markers>\n";
   while ($row = mysql_fetch_array($result)) {

       $xml .= sprintf($rowXml . "\n",
       htmlentities($row['latitude']),
       htmlentities($row['longitude']),
       htmlentities($row['locname']),
       htmlentities($row['address']),
       htmlentities($row['city']),
       htmlentities($row['province']),
       htmlentities($row['postal']));
   }
   $xml .= "</markers>\n";

  header('Content-type: text/xml');
  echo $xml;

این کد به پایگاه داده متصل میشه یه سری اطلاعات رو واکشی می کنه بعد به صورتی که می بنید سند XML مربوطه رو می سازه و می فرسته اما وقتی صفحه رو با مرورگر فایرفاکس چک میکنم با این خطا مواجه می شه :

PHP:
XML Parsing Error: XML or text declaration not at start of entity
Location: http://ajax.netai.net/locations.php
Line Number 5, Column 1:<?xml version=1.0?>
^

علتم نفهمیدم البته بدون اتصال به پایگاه داده اطلاعاتی رو به صورت دستی فرستادم مشکلی نداشت اما وقتی از پایگاه داده اطلاعات وارد می شه این مشکل پیش میاد کسی می دونه مشکل چیه؟
 
Last edited:

HADI_EN

Registered User
تاریخ عضویت
20 مارس 2006
نوشته‌ها
242
لایک‌ها
2
شاید اطلاعاتی که از پایگاه واکشی میشه مورد داره
 
Last edited:

cyber boy

Registered User
تاریخ عضویت
6 ژانویه 2005
نوشته‌ها
1,374
لایک‌ها
7
سن
36
محل سکونت
US
اگه اطلاعاتی که از دیتابیس گرفته میشه فارسی باید encoding ه فایل xml رو utf-8 بزارید.
 

ariyayi

کاربر تازه وارد
تاریخ عضویت
10 مارس 2007
نوشته‌ها
10
لایک‌ها
0
محل سکونت
پاسارگاد
مشکلش رو پیدا کردم از برنامه نبود از خود هاست بود یه سری کدای جاوا اسکریپت برای انالیز کد اضافه می کرد برای همین سند xml خراب می شود

هاستم رو عوض کردم حالا توی همین کد بالا یه مشکل جدید پیش اومده مشکل اینکه که هدر xml رو به سند اضافه نمی کنه و این پیغام رو میده :

Warning: Cannot modify header information - headers already sent by (output started at /www/zxq.net/a/j/a/ajax/htdocs/dbconnector.php:27) in /www/zxq.net/a/j/a/ajax/htdocs/locations.php on line 27

دلیلش رو کسی می دونه از دستور ob_clean() هم استفاده کرده بازم مشکل همچنان سرجاش هست .
 
بالا