首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php错误: XML或文本声明不在实体源的开头

php错误: XML或文本声明不在实体源的开头
EN

Stack Overflow用户
提问于 2011-11-16 16:15:23
回答 1查看 1.5K关注 0票数 3

每当我在PHP文件中使用以下代码时,它就会给我错误(错误: XML或文本声明不在实体源的开头)

代码语言:javascript
复制
<?xml version='1.0' encoding='utf-8'?>

我不知道解决方案是什么

请帮帮忙

提前感谢

代码语言:javascript
复制
<?xml version='1.0' encoding='utf-8'?><rows><page>1</page><records>15</records><total>1</total><row id='18'><cell>18</cell><cell>2011-9-13</cell><cell>AL</cell><cell>2011-10-19</cell><cell>2011-10-21</cell><cell>3</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell>mohan</cell><cell>Davinder Singh</cell></row><row id='17'><cell>17</cell><cell>2011-5-25</cell><cell>SL</cell><cell>2011-5-19</cell><cell>2011-5-19</cell><cell>1</cell><cell></cell><cell></cell><cell>Approved</cell><cell>Davinder</cell><cell>Kavita y</cell></row><row id='16'><cell>16</cell><cell>2011-5-25</cell><cell>SL</cell><cell>2011-5-24</cell><cell>2011-5-24</cell><cell>1</cell><cell></cell><cell></cell><cell>Approved</cell><cell></cell><cell>Kavita y</cell></row><row id='15'><cell>15</cell><cell>2011-5-26</cell><cell>AL</cell><cell>2011-7-08</cell><cell>2011-7-12</cell><cell>0</cell><cell></cell><cell></cell><cell>Disapproved</cell><cell></cell><cell>Kavita y</cell></row><row id='14'><cell>14</cell><cell>2011-5-25</cell><cell>AL</cell><cell>2011-6-30</cell><cell>2011-7-02</cell><cell>3</cell><cell></cell><cell></cell><cell>Approved</cell><cell></cell><cell>Kavita y</cell></row><row id='13'><cell>13</cell><cell>2011-9-14</cell><cell>CL</cell><cell>2011-6-15</cell><cell>2011-6-15</cell><cell>1</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell></cell><cell>Kavita y</cell></row><row id='12'><cell>12</cell><cell>2011-5-25</cell><cell>CL</cell><cell>2011-6-10</cell><cell>2011-6-12</cell><cell>3</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell></cell><cell>Kavita y</cell></row><row id='11'><cell>11</cell><cell>2011-5-25</cell><cell>SL</cell><cell>2011-5-20</cell><cell>2011-5-17</cell><cell>4</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell></cell><cell>Kavita y</cell></row><row id='10'><cell>10</cell><cell>2011-5-25</cell><cell>CL</cell><cell>2011-6-03</cell><cell>2011-6-05</cell><cell>3</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell>mohan</cell><cell>Davinder Singh</cell></row><row id='9'><cell>9</cell><cell>2011-5-26</cell><cell>SL</cell><cell>2011-5-18</cell><cell>2011-5-22</cell><cell>5</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell>mohan</cell><cell>Davinder Singh</cell></row><row id='8'><cell>8</cell><cell>2011-5-24</cell><cell>AL</cell><cell>2011-5-20</cell><cell>2011-5-20</cell><cell>0</cell><cell></cell><cell></cell><cell>Disapproved</cell><cell>mohan</cell><cell>Davinder Singh</cell></row><row id='7'><cell>7</cell><cell>2011-5-24</cell><cell>CL</cell><cell>2011-5-20</cell><cell>2011-5-20</cell><cell>1</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell>mohan</cell><cell>Davinder Singh</cell></row><row id='4'><cell>4</cell><cell>2011-9-14</cell><cell>SL</cell><cell>2011-5-20</cell><cell>2011-5-20</cell><cell>1</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell>mohan</cell><cell>Davinder Singh</cell></row><row id='3'><cell>3</cell><cell>2011-5-24</cell><cell>SL</cell><cell>2011-5-20</cell><cell>2011-5-20</cell><cell>1</cell><cell></cell><cell></cell><cell>Waiting for approval</cell><cell>mohan</cell><cell>Davinder Singh</cell></row><row id='1'><cell>1</cell><cell>2011-5-24</cell><cell>SL</cell><cell>2011-5-20</cell><cell>2011-5-22</cell><cell>0</cell><cell>dd</cell><cell>remarks</cell><cell>Disapproved</cell><cell>mohan</cell><cell>Davinder Singh</cell></row></rows>

和php代码

代码语言:javascript
复制
header("Content-type: text/xml;charset=utf-8");

$s = "<?xml version='1.0' encoding='utf-8'?>";
$s .=  "<rows>";
$s .= "<page>".$page."</page>";
$s .= "<records>".$count."</records>";

$s .= "<total>".$total_pages."</total>";


// be sure to put text data in CDATA
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {


    $s .= "<row id='". $row['fld_id']."'>";

    $s .= "<cell>". $row['fld_id']."</cell>";   
    $s .= "<cell><![CDATA[". getDepartmentName($row['deptSr'])."]]></cell>";
    $s .= "<cell>". $row['email']."</cell>";
    $s .= "<cell>". $row['fname']."</cell>";
    $s .= "<cell>". $row['lname']."</cell>";
    $s .= "<cell>". $row['password']."</cell>";

    $s .= "<cell>". listlevel($row['level'])."</cell>"; 
    $s .= "<cell>". date('Y-m-d G:i:s', $row['date_create'])."</cell>";
    $s .= "<cell>". date('Y-m-d G:i:s', $row['last_login'])."</cell>";  
    $s .= "<cell>". $row['ip_addr']."</cell>";
    $s .= "<cell>". $row['dob']."</cell>";  
    $s .= "<cell>". $row['street']."</cell>";       
    $s .= "<cell>". $row['phone_mob']."</cell>";        
    $s .= "<cell>". $row['phone_home']."</cell>";   
    $s .= "<cell>". liststatus($row['fld_enabled'])."</cell>";  

    $s .= "</row>";
}
$s .= "</rows>"; 

echo $s;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 18:21:34

不在实体开始处的XML或文本声明表示prolog不是输出中的第一行。最有可能的是,一个空行以某种方式出现在您的输出中。这个错误并不是WordPress独有的;然而,正如我在评论中提到的,我在谷歌上搜索了一下错误消息,WordPress出现在很多结果中。如果您没有使用WordPress,请忽略本答案的其余部分。

免责声明:我对WordPress一无所知,所以我不愿以这个身份回答;然而,由于在撰写本文时还没有其他答案,我将简单地向您展示我在这个主题上找到的东西。

  • Wordpress leading whitespace fix似乎可以帮助一些人解决specified.
  • Additional suggestions are available here.
  • How to fix: XML Parsing Error: XML or text declaration not at start of entity在前言中处理空格的错误。该评论建议使用ob_start()ob_end_clean().

如果您使用的是WordPress,则可以通过在问题中添加WordPress标签来获得更好的答案。这不能保证,但它可以吸引比我更有见识的人的注意。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8148532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档