У меня есть этот код для создания и обновления файла xml:
<?php
$xmlFile = 'config.xml';
$xml = new SimpleXmlElement('<site/>');
$xml->title = 'Site Title';
$xml->title->addAttribute('lang', 'en');
$xml->saveXML($xmlFile);
?>
Это создает следующий xml-файл:
<?xml version="1.0"?>
<site>
<title lang="en">Site Title</title>
</site>
Вопрос в следующем: есть ли способ добавить CDATA с помощью этого метода/техники для создания кода xml ниже?
<?xml version="1.0"?>
<site>
<title lang="en"><![CDATA[Site Title]]></title>
</site>
<title lang="en">Site Title</title>
и<title lang="en"><![CDATA[Site Title]]></title>
идентичны, за исключением того, что один использует больше байтов и его труднее читать человеку. - person Quentin   schedule 05.12.2014<title lang="en">Site<br>Title</title>
, это нарушит синтаксический анализатор XML (открытие тега br без закрытия не является строгим XML), а<title lang="en"><![CDATA[Site<br>Title]]></title>
— нет. Таким образом, при работе с клиентами часто более читабельнее просто иметь CDATA, а не все неуклюжее экранирование, которое может потребоваться узлу, отличному от CDATA, чтобы избежать CDATA. - person Jimbo Jonny   schedule 17.11.2015<em></em>
в содержимом добавит столько же байтов, сколько и окружающие теги CDATA. Видите ли, есть МНОГИЕ случаи, когда CDATA является жизнеспособным решением, независимо от того, заполняется ли XML вручную или кодом. - person Jimbo Jonny   schedule 17.11.2015