PHP: Как обработать <! [CDATA [с SimpleXMLElement?

Я заметил это при использовании SimpleXMLElement на документе, который содержит те теги CDATA, содержание всегда NULL. Как я фиксирую это?

Кроме того, извините за спам о XML здесь. Я пытался добраться, XML основывал сценарий для работы в течение нескольких часов теперь...

<content><![CDATA[Hello, world!]]></content>

Я попробовал первый хит на Google, если Вы ищете "SimpleXMLElement cdata", но это не работало.

93
задан Angelo 3 June 2010 в 23:48
поделиться

1 ответ

Вероятно, вы неправильно обращаетесь к нему. Вы можете вывести его напрямую или преобразовать в строку. (в этом примере приведение излишне, так как echo автоматически делает это в любом случае)

$content = simplexml_load_string(
    '<content><![CDATA[Hello, world!]]></content>'
);
echo (string) $content;

// or with parent element:

$foo = simplexml_load_string(
    '<foo><content><![CDATA[Hello, world!]]></content></foo>'
);
echo (string) $foo->content;

Возможно, вам повезет больше с LIBXML_NOCDATA:

$content = simplexml_load_string(
    '<content><![CDATA[Hello, world!]]></content>'
    , null
    , LIBXML_NOCDATA
);
172
ответ дан 24 November 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: