simplexml_load_string()其实就是将一个xml数据转换为一个对象。
$obj = simplexml_load_string($msg);
然后sprintf()这个函数就需要先有一个xml数据的格式,然后才可以转换,而不是对象数据直接转换为xml数据,举例
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$result = sprintf($xml,$obj->FromUserName,$obj->ToUserName,time(),$content);
函数中,第一个数据是xml数据格式,然后后面的数据依次替换第一个数据中的%s,最终组成一个完整的xml数据。微信公众号开发中,我们最常用的大概就是这个和加密解密函数了。