У меня есть этот php-код
<?php $status_code=1; echo "<?xml version=\"1.0\"?>\n"; echo "<response>\n"; echo "\t<status>$status_code</status>\n"; echo "\t<time>" . time() . "</time>\n"; if ($status_code == 1) { echo "\t<message>\n"; echo "\t\t<author>Vlad</author>\n"; echo "\t\t<text>Ova e poraka</text>\n"; echo "\t</message>\n"; } echo "</response>"; ?>
Почему я не получаю напечатанный XML-код в браузере?
Также хорошо ли создавать запросы ajax, печатая код xml напрямую в php или использовать какую-либо функцию xml php для создания xml-кода?
Я хотел создать чат-систему, используя jquery, ajax, php и mysql, используя этот учебник , но я получаю ошибку, что вышеприведенный xml-файл не сформирован
Как говорили другие, вам нужно предоставить браузеру заголовок, чтобы он знал, как отображать страницу.
Что касается функций xml, посмотрите на PHP SimpleXMLElement
Попробуйте просмотреть свой источник, xml существует, но просто не отображается. Ваш браузер попытается показать страницу как HTML, так как вы не поставляете правильные заголовки. Поскольку нет меток, вы ничего не увидите.
Вы должны отправить правильные заголовки, как таковые:
header('content-type: text/xml')
вы должны поместить заголовок (чтобы браузер знал, как отображать дисплей):
header ("Content-Type:text/xml");
Вы должны использовать правильный тип контента, как говорили другие. Я рекомендую использовать XMLReader . Или, если вам нужен более простой способ, попробуйте использовать синтаксис строки Heredoc с sprintf и htmlspecialchars для кодирования значений с символами, которые имеют особые значения в XML (например, <> &)