note 73367 modified in function.simplexml-load-file by danbrown

From: Date: Thu, 24 Jul 2008 13:30:54 +0000
Subject: note 73367 modified in function.simplexml-load-file by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-142654@lists.php.net to get a copy of this message
To correctly extract a value from a CDATA just make sure you cast the SimpleXML Element to a string value by using the cast operator: <?php $xml = '<?xml version="1.0" encoding="UTF-8" ?> <rss> <channel> <item> <title><![CDATA[Tom & Jerry]]></title> </item> </channel> </rss>'; $xml = simplexml_load_string($xml); // echo does the casting for you echo $xml->channel->item->title; // but vardump (or print_r) not! var_dump($xml->channel->item->title); // so cast the SimpleXML Element to 'string' solve this issue var_dump((string) $xml->channel->item->title); ?> Above will output: Tom & Jerry object(SimpleXMLElement)#4 (0) {} string(11) "Tom & Jerry" --was-- To correctly extract a value from a CDATA just make sure you cast the SimpleXML Element to a string value by using the cast operator: $xml = '<?xml version="1.0" encoding="UTF-8" ?> <rss> <channel> <item> <title><![CDATA[Tom & Jerry]]></title> </item> </channel> </rss>'; $xml = simplexml_load_string($xml); // echo does the casting for you echo $xml->channel->item->title; // but vardump (or print_r) not! var_dump($xml->channel->item->title); // so cast the SimpleXML Element to 'string' solve this issue var_dump((string) $xml->channel->item->title); Above will output: Tom & Jerry object(SimpleXMLElement)#4 (0) {} string(11) "Tom & Jerry" http://php.net/manual/en/function.simplexml-load-file.php

« previous php.notes (#142654) next »