PHP, SimpleXML, декодирование объектов в CDATA

м испытывает следующее поведение:

$xml_string1 = "";
$xml_string2 = " Someone's Name ";

$person = new SimpleXMLElement($xml_string1);
print (string) $person->name; # Someone's Name

$person = new SimpleXMLElement($xml_string2);
print (string) $person->name; # Someone's Name

$person = new SimpleXMLElement($xml_string1, LIBXML_NOCDATA);
print (string) $person->name; # Someone's Name

Документы php говорят, что NOCDATA "Объединить CDATA в текстовые узлы, Для меня это означает, что CDATA будет обрабатываться так же, как текстовые узлы, или что поведение 3-го примера теперь будет таким же, как 2-й пример.

Я нене может контролировать XML (этоs источник из внешнего источника), в противном случае япросто удалите тег CDATA, поскольку он ничего не делает и разрушает поведение, которое я хочу.

Почему приведенный выше пример ведет себя так, как он? Есть ли способ заставить SimpleXML обрабатывать узлы CDATA так же, как он обрабатывает текстовые узлы? Что значит "Объединить CDATA как текстовые узлы " на самом деле, так как я неКажется, я не понимаю этот вариант?

м в настоящее время декодирование после того, как я извлекаю данные, но приведенный выше пример все еще нене имеет смысла для меня.

Ответы на вопрос(1)

Ваш ответ на вопрос