【发布时间】:2012-03-03 05:11:08
【问题描述】:
我正在尝试为移动应用程序编写 API。我想以 XML 格式返回数据。我正在使用为 Wolfram Alpha 构建的 PHP 库来查询他们的数据,并希望我的 API 充当移动应用程序和 Wolfram Alpha 之间的过渡。每当我在使用 Wolfram Alpha PHP 库后尝试打印 XML 文档时,都会收到来自 Chrome 的错误提示:
error on line 7 at column 6: XML declaration allowed only at the start of the document
我在 IE 中一无所获,而在 Firefox 中我得到:
XML Parsing Error: XML or text declaration not at start of entity
Location: http://myfitnessplate.com/api/food-search/name/thisissomethingnotfood/key/HWGCF-YASLT-HOSEC-OZWJH-HETKJ
Line Number 7, Column 1:
<?xml version="1.0"?>
^
没有其他数据。我打开 Wolfram Alpha PHP 库 (WolframAlphaEngine.php) 的主文件,注意到它使用 SimpleXML 在以下代码中查询 Wolfram Alpha
$xml = simplexml_load_file( $url );
每当我使用该库时,都会收到 XML 错误。如果我不使用该库,XML 输出就好了。 “simplexml_load_file”是否有可能由于某种原因导致我的 XML 中断?
我的代码在使用使用 simplexml_load_file 的库时不起作用(这在不使用库时起作用):
$xml = new SimpleXMLElement('<xml/>');
header("Content-Type:text/xml");
echo $xml->asXML();
【问题讨论】:
-
什么是“第 7 行第 6 列”?你能提供更多的代码上下文吗?
-
我不知道,因为我看不到 XML。它说下面是 xml 的呈现直到第一个错误,但那里什么都没有。这只是一个白屏。还有什么可以帮到你的吗?
-
从你的意思来看,这个错误听起来像是来自你用来查看xml的浏览器?您的脚本的原始输出是什么?
-
看起来是这样。我最初是在chrome中查看它,尝试了IE,我什么也没得到。只是一个空白页。除了 XML 没有输出,所以现在出现错误,什么都没有。
-
用来自 ie 和 firefox 的信息更新了我的问题。