Я пытаюсь добавить новую строку в узел CData с XMLWriter в PHP.
$xml = new XMLWriter();
$xml->openURI('php://output');
$xml->startDocument('1.0', 'UTF-8');
$xml->setIndent(true);
$str = "my string\nmy string";
$xml->startElement('test');
$xml->writeCData($str);
$xml->endElement();
$xml->endDocument();
Но вывод не возвращает никакой новой строки, поскольку я написал "\n"...
возвращает:
<test>my string my string</test>
вместо:
<test>my string
my string
</test>
Я видел на других сообщениях, что некоторые пользователи используют "& # 10;" код или "& #xD;" (без пробела), но когда я помещаю его в свою переменную $ str, символы thoses экранируются, а XMLWriter записывает их как выходные данные и не создает новую строку.
Есть ли у вас какие-то идеи?
Большое спасибо !
Я считаю, что нет простых способов форматирования вывода PHP XMLWriter, поскольку вывод предназначен для машиносчитываемых, а не для чтения человеком. Возможно, можно использовать XMLWriter :: writeRaw, чтобы добавить пользовательские разрывы строк.