Я использую PHP для вывода пользовательского XML на основе значений, хранящихся в базе данных MySQL. У меня есть следующий в начале условия:Объявление XML не играет хорошо с PHP
echo '<?xml version="1.0" encoding="UTF-8"?>';
(я также попробовал этот вариант:.
echo "<?xml version='1.0' encoding='UTF-8'?>";
без толка)
Однако, это всегда выводится (в каждом браузере и даже при просмотре в качестве загруженного файла из wget
) как:
<?xml version=1.0 encoding=UTF-8 ?>
Где-то вдоль линии одинарные кавычки вокруг номера версии и кодировки были отброшены. Где я ошибся и что могу сделать, чтобы исправить это? Я получаю ошибки от своего парсера, и я считаю, что это потому, что это объявление не соответствует стандарту XML, содержащему одинарные или двойные кавычки вокруг этих значений.
Это действительно странно, что PHP будет падением котировок, но даже при этом вы должны использовать двойные кавычки isntead одинарных кавычек для XML-документов. – regality
Hmph. Все тот же результат, но я думаю, вы правы в использовании двойных кавычек. – esqew
Звучит для меня как какой-то выходной пост-обработки. У меня нет опыта в этом, но возможно что-то вроде 'tidy.clean_output = On' в настройках' ini'? Кажется маловероятным, что 'Tidy' удалял кавычки вместо того, чтобы добавлять их, но кто знает. Возможно, какой-то подобный инструмент для пост-обработки настроен на настройку вашего сервера. (Будьте пост-обработкой PHP, пост-обработки, сделанной вашим веб-сервером). –