zoukankan      html  css  js  c++  java
  • 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(), $content, $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;
    }
     
  • 相关阅读:
    记一次小程序支付开发的坑,超级坑
    springboot集成redis 附redis基本操作类
    springboot整合mybatis及封装curd操作-配置文件
    微信小程序开发
    vue各种插件
    java数据导出成 EXCEL
    jsp自定义标签
    java生成验证码
    文字对齐格式
    css阴影效果
  • 原文地址:https://www.cnblogs.com/huay/p/10356419.html
Copyright © 2011-2022 走看看