read php xml tags cdata

read - domdocument cdata php



PHP: cómo manejar<![CDATA[con SimpleXMLElement? (4)

El LIBXML_NOCDATA es el tercer parámetro opcional de la función simplexml_load_file() . Esto devuelve el objeto XML con todos los datos CDATA convertidos en cadenas.

$xml = simplexml_load_file($this->filename, ''SimpleXMLElement'', LIBXML_NOCDATA); echo "<pre>"; print_r($xml); echo "</pre>";


Arregle CDATA en SimpleXML

Noté que al usar SimpleXMLElement en un documento que contiene esas etiquetas CDATA, el contenido siempre es NULL . ¿Cómo puedo solucionar esto?

Además, lo siento por enviar spam sobre XML aquí. He estado intentando que un script basado en XML funcione durante varias horas ...

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

Intenté el primer golpe en Google si buscaba "cdata de SimpleXMLElement", pero eso no funcionó.


Esto está funcionando perfecto para mí.

$content = simplexml_load_string( $raw_xml , null , LIBXML_NOCDATA );


Esto hizo el truco para mí:

echo trim($entry->title);


Probablemente no estés accediendo correctamente. Puede sacarlo directamente o echarlo como una cadena. (en este ejemplo, el casting es superfluo, ya que echo lo hace de todos modos)

$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;

Puede tener mejor suerte con LIBXML_NOCDATA :

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