1
SoloCompany 2014-03-17 00:44:43 +08:00
simplexml_load_string 返回的不是数组啊,是一个封装了的对象,只是支持数组操作而已
没看出来 CDATA 节点有什么特别啊 ~~~~ <?php $x = simplexml_load_string(<<<XML <x> <a> a </a> <b><![CDATA[ b ]]></b> <c><![CDATA[]]></c> </x> XML ); print_r($x); foreach (["a","b","c"] as $key) { print_r([ val => (string) $x->$key, cnt => count($x->$key->children()), ]); } ~~~~ 自己放到 CoreRunner 跑一下看看咯 |
2
adami 2014-03-17 15:23:18 +08:00
simplexml_load_string 有个可选参数LIBXML_NOCDATA
|
3
undeadking 2014-03-17 18:35:21 +08:00
该不会是在处理微信数据吧?这种情况会被解析为一个空的SimpleXMLElement对象,判定一下类型然后调用__toString()方法就是了
if ('SimpleXMLElement' == get_class($node)) { return $node->__toString(); } |