首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >第2行第1列的错误:文档末尾的额外内容

第2行第1列的错误:文档末尾的额外内容
EN

Stack Overflow用户
提问于 2010-12-28 15:01:06
回答 5查看 138.3K关注 0票数 23

当我使用下面的代码并在本地解析xml时,它工作得很好,但是当在服务器上载相同的脚本时,它显示错误。

注意:我从查询字符串中检索到了$lng$lat,它在本地工作得很好。

代码语言:javascript
复制
$lng=$_GET['lng'];
$lat=$_GET['lat'];
$conn=new LoginSystem();
$conn->connect();
$dom = new DOMDocument("1.0");

$query="select catch_id,catch_details,image from mycatch where longitude='$lng' AND latitude='$lat'";
$result = mysql_query($query);

if (!$result) {
  die("Invalid query: " . mysql_error());
}

header("Content-type: text/xml");

// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
  $node = $dom->createElement("mycatch");
  $node = $dom->appendChild($node);
foreach ($row as $fieldname => $fieldvalue) {
      $child = $dom->createElement($fieldname);
    $child = $node->appendChild($child);
    $value = $dom->createTextNode($fieldvalue);
    $value = $child->appendChild($value);
  }
}

$conn->disconnect();
$xml_string = $dom->saveXML();
echo $xml_string;

在服务器上,它抛出这个错误。文件也是空的……

此页包含以下错误:

第2行第1列的错误:下面文档末尾的额外内容是对页面的呈现,直到出现第一个错误。

EN

回答 5

Stack Overflow用户

发布于 2010-12-29 00:35:31

我认为您正在创建如下所示的文档:

代码语言:javascript
复制
<mycatch>
    ....
</mycatch>
<mycatch>
    ....
</mycatch>

这不是有效的XML文档,因为它有多个根元素。您必须具有单个顶级元素,如

代码语言:javascript
复制
<mydocument>      
  <mycatch>
      ....
  </mycatch>
  <mycatch>
      ....
  </mycatch>
  ....
</mydocument>
票数 42
EN

Stack Overflow用户

发布于 2013-06-21 20:39:54

这个问题是数据库连接字符串,你的MySQL数据库连接函数的参数之一是不正确的,所以在浏览器的输出中有一个错误信息,只要右击输出网页并查看html源代码,你就会看到错误行后面跟着正确的XML输出数据(文件)。我遇到了同样的问题,上面的解决方案完美地工作了。

票数 7
EN

Stack Overflow用户

发布于 2012-07-13 11:53:15

调用之前可能有输出(可能是error/debug输出)。

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

因此,交付给浏览器的内容不是"xml"...这就是错误消息试图告诉您的(至少对于我来说是这样的,并且我收到了与您所描述的相同的错误消息)。

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

https://stackoverflow.com/questions/4544272

复制
相关文章

相似问题

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