Я пытаюсь написать API для мобильного приложения. Я хотел бы вернуть данные в формате XML. Я использую библиотеку PHP, созданную для Wolfram Alpha, для запроса их данных и хочу, чтобы мой API действовал в качестве посредника для мобильного приложения и Wolfram Alpha. Всякий раз, когда я пытаюсь распечатать документ XML после использования PHP-библиотеки Wolfram Alpha, в 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"?>
^
Без других данных. Я открыл основной файл для PHP-библиотеки Wolfram Alpha (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();