日期:2014-05-17  浏览次数:20430 次

关于php处理xml的一个小问题
最近在琢磨微信的接口
遇到了一个小问题
假如有个变量的内容如下
$test= "<xml><ToUserName><![CDATA[11111111]]></ToUserName>
<FromUserName><![CDATA[11111111]]></FromUserName>
<CreateTime>1111</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[test]]></Content>
<MsgId>111111</MsgId>
</xml>";

$postObj = simplexml_load_string($test, 'SimpleXMLElement', LIBXML_NOCDATA);
用simplexml_load_string把xml读到变量以后
$postObj->addChild("id","123");
我增加了一个元素
现在该怎么再把变量里的内容恢复成xml格式呢?

------解决方案--------------------
你再写回去不就行了
$test = $postObj->saveXML();

不过请注意,你打开的时候有 LIBXML_NOCDATA 参数,所以写回的就没有 CDATA 节点了