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 NDK
官方文档地址: https://developer.android.com/studio/projects/add-native-code.html#download-ndk 最近推出CMake方式集 ...
- sudo 使用不了, the permissions on the /etc/sudoers file are changed to something other than 0440
sudo 使用不了,报错: the permissions on the /etc/sudoers file are changed to something other than 0440 how ...
- 公网IP、私网IP
公网.内网是两种Internet的接入方式.公网接入方式:上网的计算机得到的IP地址是Internet上的非保留地址,公网的计算机和Internet上的其他计算机可随意互相访问. NAT(Networ ...
- yii2 [行为] behaviors 拦截器
yii2 拦截器 在控制器中可以自定义对action的拦截器,拦截器需要继承 \yii\base\ActionFilter 参考代码: class BaseUserAuthorizeFilter ex ...
- PL/SQL异常
CASE_NOT_FOUND CASE selector WHEN selector_value_1 THEN statements_1 WHEN selector_value_2 THEN stat ...
- 读书笔记_Effective_C++_条款四十六:需要类型转换时请为模板定义非成员函数
这个条款可以看成是条款24的续集,我们先简单回顾一下条款24,它说了为什么类似于operator *这样的重载运算符要定义成非成员函数(是为了保证混合乘法2*SomeRational或者SomeRat ...
- HIVE: SerDe应用实例
数据文件内容 id=123,name=steven id=55,name=ray 期望输出格式 123 steven 55 ray 1. 创建表, 用正则表达式的形式指定格式 create table ...
- 表格CSS样式美化
1. 单像素边框CSS表格 这是一个很常用的表格样式. <!-- CSS goes in the document HEAD or added to your external styleshe ...
- unity4.6 failed to update unity web player
unity4.6 failed to update unity web player 新升级的 4.6.2P2 版本修复了IOS很多的bug. 但突然发现导出的Web版本反而不能工作了. “faile ...
- 快乐的JS正则表达式(三)
?的用途. 小任务:匹配一段网址如var str = "http://www.123.com/";注意http也可以是https var str = "http://i. ...