CMS如何提供XML格式的接口

在做APP的过程中,需要服务端的接口数据。

是用Json格式还是Xml格式呢,很多人会说还是xml习惯。

 

然而PHP更适合返回的还是json,php核心库中就包含了json编码的函数,可以直接将数组转json;而生成xml则会比较麻烦。

忽然看到一篇文章:http://www.jcodecraeer.com/a/phpjiaocheng/2013/1009/1567.html

发现还挺受启发的。

 

他是利用各种框架中的模版引擎,直接定义xml的数据结构,关键处通过模版变量赋值。

他是以DedeCMS举例。

因为织梦的模版引擎是一款通用的模版引擎,不限于html。

比如在模版文件中,定义:

<?xml version="1.0" encoding="UTF-8"?>
    <jcodecraeer>
            <blog>
                <id>{dede:field.id/}</id>
                <title><![CDATA[{dede:field.title/}]]></title>   
                <author>{dede:field.authoranme/}</author>
                <url>http://www.jcodecraeer.com{dede:field.arcurl/}</url>
                <body>
                    <![CDATA[
                    
                 <h4> {dede:field.title/} </h4>
                 <div>
                 <span style='color:#333333;font-size:12px;padding-right:15px;'>{dede:field.authoranme/}</span>
                 <span style='color:#333333;font-size:12px;padding-right:15px;'> {dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}</span></div> 
                 {dede:field.body /}
                   ]]>
                </body>
                <pubDate>{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}</pubDate>
                <commentCount>{dede:field.id runphp=’yes’}$dsql = new dedesql(false);$dsql -> SetQuery(“Select count(id) as c from dede_feedback where aid=”.@me);$row = $dsql -> getone();@me=$row['c'];{/dede:field.id}</commentCount>
            </blog>
    </jcodecraeer>

最后会被模版引擎将变量处赋值,整个体系非常优雅,避免了业务代码中穿插视图的处理。

转载于:https://my.oschina.net/x3d/blog/705868

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值