Я генерирую XML
файл, используя PHP
DomDocument
, но в какой-то момент я застрял с самозакрывающимся тегом, содержащим права html.
Это желаемый вывод:
<http-headers>
<header name="Access-Control-Allow-Origin" value="*" />
</http-headers>
Вот что я (неправильно) сейчас делаю:
$httpHeaders = $xml->createElement("http-headers");
$icecast->appendChild($httpHeaders);
$headerName = $xml->createTextNode('<header name="Access-Control-Allow-Origin" value="*" />');
$httpHeaders->appendChild($headerName);
Что дает мне:
<http-headers><header name="Access-Control-Allow-Origin" value="*" /></http-headers>
Я посмотрелв пространства имен и значения атрибута но это все очень запутанно, а также я не смог найти решение, которое добавляет самозакрывающийся тег.
Также мне нужновыводить символы <
и >
вместо преобразования их в <
и >
.
Может ли кто-нибудь указать мне правильное направление, пожалуйста?
РЕДАКТИРОВАТЬ
Достигнут некоторый прогресс, добавив элемент правильным образом:
$httpHeaders = $xml->createElement("http-headers");
$icecast->appendChild($httpHeaders);
$httpHeadersHeader = $xml->createElement("header");
$httpHeaders->appendChild($httpHeadersHeader);
$httpHeadersHeader->setAttribute("name", '"Access-Control-Allow-Origin" value="*"');
Но он выводит html-коды вместо символов:
<http-headers>
<header name=""Access-Control-Allow-Origin" value="*""/>
</http-headers>
Я добавляю кодировку UTF-8 перед выводом, но это не помогает:
$xml->encoding = 'UTF-8';
return $xml->save('php://output');
Как мне сделать так, чтобы выводился фактический символвместо кодов?