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>
最后会被模版引擎将变量处赋值,整个体系非常优雅,避免了业务代码中穿插视图的处理。
CMS如何提供XML格式的接口的更多相关文章
- JAVA发送xml格式的接口请求
/** * * @param urlStr 接口地址 * @param xmlInfo xml格式参数数据 * @return */ public static String sendMsgXml(S ...
- LR 测试http协议xml格式数据接口
Action() { lr_start_transaction("T1"); web_custom_request("xxxxHTTPRequest", &qu ...
- 中国天气网接口返回json格式分析及接口(XML、图片接口)说明
实时天气: city "北京"//城市 cityid "101010100"//城市编码 temp "17&qu ...
- 【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)
目录: SoapUI测试webservice接口,发送XML格式参数 Postman测试webservice接口,发送XML格式参数 WebServiceStudio.exe测试webservice接 ...
- python接口自动化(四十一)- 发xml格式参数的post请求(超详解)
简介 最近在工作中,遇到一种奇葩的接口,它的参数数据是通过xml,进行传递的,不要大惊小怪的,林子大了什么鸟都有,每个人的思路想法不一样,开发的接口也是各式各样的,如果想要统一的话,必须是提前团队已经 ...
- 使用soapUI5.3.0调试webservice接口(参数为XML格式)
最近项目中经常要调试webservice接口,从朋友处了解到他们经常使用SoapUI,因此学习一下这个工具的使用,为避免遗忘,特地记录下来,分享分享... 下载 #####首先,下载SoapUI,我下 ...
- python接口自动化-发xml格式post请求
前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded appl ...
- PHP中数组转换为XML格式
最近公司要做一个API接口,输出格式要有JSON与XML格式, 在PHP中,输入JSON直接json_encode就可以,但输出XML没有提供函数,于是决定自己写一个. <?php /** * ...
- Java发送HTTP POST请求(内容为xml格式)
今天在给平台用户提供http简单接口的时候,顺便写了个调用的Java类供他参考. 服务器地址:http://5.0.217.50:17001/VideoSend 服务器提供的是xml格式的h ...
随机推荐
- 首次构建android studio gradle 下载缓慢的问题
1.先使用其他工具下载gradle, https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 2.然后放在C:\Users\A ...
- ARCGIS10.1 GeoDatabase深入理解:客户端连接与退出地理数据库时系统表的初始化
平台软件:ARCIGS10.1 ,SQL Server2008R2 目的:了解客户端在连接arcgis 空间地理数据库后,地理数据库会做些什么样的初始化工作 准备工作: 1.准备好数据库日志文件查看工 ...
- CEF 相关资料
理解WebKit和Chromium: Content API和CEF3 http://blog.csdn.net/milado_nju/article/details/7455373 如何将Chrom ...
- Sql中的Merge和output
先看merge, 不用merge时: --更新 update TA Value ) --插入没有的数据 insert into TA ,,Value from TB ) and TypeName=@v ...
- Android 中ViewPagerIndicator的使用
1.https://github.com/JakeWharton/Android-ViewPagerIndicator 2.http://blog.csdn.net/xiaanming/article ...
- Equals Finalize GetHashCode GetType MemberwiseClone ReferenceEquals ToString String.IsInterned
参考资料: http://blog.csdn.net/afgasdg/article/details/6889383 http://www.cnblogs.com/skyivben/archive/2 ...
- [转]silverlight Datagrid 行上增加ToolTip
有两种办法: 1. 直接在后台处理在数据绑定后 ,注册LoadingRow 事件this.DataGrid.LoadingRow += new EventHandler<DataGridRowE ...
- Xcode 安装插件手误选择了「Skip Bundle」后需要重新允许「Load Bundle」的解决方法
在 Mac 终端输入命令: # 这里的7.1代表 Xcode 的版本号 defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugI ...
- oracle create table(转)
//建测试表 create table dept( deptno number(3) primary key, dname varchar2(10), loc varchar2(13) ); crea ...
- 一起做RGB-D SLAM 第二季 (一)
小萝卜:师兄!过年啦!是不是很无聊啊!普通人的生活就是赚钱花钱,实在是很没意思啊! 师兄:是啊…… 小萝卜:他们都不懂搞科研和码代码的乐趣呀! 师兄:可不是嘛…… 小萝卜:所以今年过年,我们再做一个S ...