xml的解构与组装

前端之家收集整理的这篇文章主要介绍了xml的解构与组装前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

xml的结构

 
 
<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>%d</FuncFlag>
</xml>
 

xml转成对象

 $postObj = simplexml_load_string($ticket_xml,‘SimpleXMLElement‘,LIBXML_NOCDATA);

拼装xml

    /**
     * 文本消息组装xml
     *
     * @param unknown $postObj
     * @param unknown $content
     * @param number $funcFlag
     * @return string
     */
    public function event_key_text($postObj,$content,$funcFlag = 0)
    {
        if (! empty($content)) {
            $xmlTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[text]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>%d</FuncFlag>
                        </xml>";
            $resultStr = sprintf($xmlTpl,$postObj->FromUserName,$postObj->ToUserName,time(),$funcFlag);
            return $resultStr;
        }else{
            return ‘‘;
        }
    }
/** * 返回图文消息组装xml * * @param unknown $postObj * @param unknown $arr_item * @param number $funcFlag * @return void|string */public function event_key_news($postObj,$arr_item,$funcFlag = 0){    // 首条标题28字,其他标题39字    if (! is_array($arr_item)) {        return;    }    $itemTpl = "<item>                    <Title><![CDATA[%s]]></Title>                    <Description><![CDATA[%s]]></Description>                    <PicUrl><![CDATA[%s]]></PicUrl>                    <Url><![CDATA[%s]]></Url>                </item>            ";    $item_str = "";    foreach ($arr_item as $item) {        $item_str .= sprintf($itemTpl,$item[‘Title‘],$item[‘Description‘],$item[‘PicUrl‘],$item[‘Url‘]);    }    $newsTpl = "<xml>    <ToUserName><![CDATA[%s]]></ToUserName>    <FromUserName><![CDATA[%s]]></FromUserName>    <CreateTime>%s</CreateTime>    <MsgType><![CDATA[news]]></MsgType>    <Content><![CDATA[]]></Content>    <ArticleCount>%s</ArticleCount>    <Articles>$item_str</Articles>    <FuncFlag>%s</FuncFlag>    </xml>";    $resultStr = sprintf($newsTpl,$postObj->FromUserName,$postObj->ToUserName,time(),count($arr_item),$funcFlag);    return $resultStr;}

猜你在找的XML相关文章