博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 开发 APP 接口 学习笔记与总结 - XML 方式封装通信接口
阅读量:6579 次
发布时间:2019-06-24

本文共 2998 字,大约阅读时间需要 9 分钟。

1.PHP 生成 XML 数据

① 拼接字符串

② 使用系统类(DomDocument,XMLWriter,SimpleXML)

例1 使用 PHP 系统类中的 DomDocument 类:

createElement('test','This is a root element');$dom->appendChild($element);echo $dom->saveXML();

页面输出

This is a root element

查看源代码显示:

This is a root element

例2 拼接字符串

//修改 http 头信息header("Content-Type:text/xml");//xml头信息$xml = "
\n";//根节点开始标签$xml .= "
\n";//code$xml .= "
200\n"; //message$xml .= "
数据返回成功
\n"; //data$xml .= "
\n"; $xml .= "
1
\n";$xml .= "
John
\n";$xml .= "
\n";//根节点结束标签$xml .= "
";echo $xml;exit();

页面输出:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
200
数据返回成功
1
John

http 响应头信息:

 

2.XML 方式封装通信接口

$code, 'message' => $message, 'data' => $data ); //修改 http 头信息 header("Content-Type:text/xml"); //xml头信息 $xml = "
"; //根节点开始标签 $xml .= "
"; $xml .= self::xmlToEncode($result); //根节点结束标签 $xml .= "
"; echo $xml; exit(); } //解析$result至xml public static function xmlToEncode($data){ $xml = $attr = ""; foreach($data as $k=>$v){ //如果$k是数字(data(code,message,data中的data)数据里面还含有索引数组),要进行如下判断 if(is_numeric($k)){ $attr = "id='{
$k}'"; $k = 'item '; } $xml .= "<{
$k} {
$attr}>"; //如果$v是数组,则递归调用该方法 if(is_array($v)){ $xml .= self::xmlToEncode($v); }else{ $xml .= $v; } $xml .= "
"; } return $xml; }}

调用该页面 test.php

$data 第一种情况:

1, 'name'=>'Mary');Response::xml(200,'数据返回成功',$data);

页面输出:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
200
数据返回成功
1
Mary

$data 第二种情况

1, 'name'=>'Mary', 'type'=>array(1,3,6) //<0>1
<1>3
<2>6
=>
1
...);Response::xml(200,'数据返回成功',$data);

页面输出:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
200
数据返回成功
1
Mary
1
3
6

$data 第三中情况:

1, 'name'=>'Mary', 'type'=>array('a'=>1,'b'=>3,'c'=>6));Response::xml(200,'数据返回成功',$data);

页面输出:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
200
数据返回成功
1
Mary
1
3
6

 

转载地址:http://ysnno.baihongyu.com/

你可能感兴趣的文章
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
React Native 0.20官方入门教程
查看>>
JSON for Modern C++ 3.6.0 发布
查看>>
我的友情链接
查看>>
监听在微信中打开页面时的自带返回按钮事件
查看>>
第一个php页面
查看>>
世界各国EMC认证大全
查看>>
最优化问题中黄金分割法的代码
查看>>
在JS中使用Ajax
查看>>
Jolt大奖获奖图书
查看>>
android中webview空间通过Img 标签显示sd卡中 的图片
查看>>
ubuntu 16.04 安装PhpMyAdmin
查看>>
安卓开启多个服务
查看>>
设置分录行按钮监听事件
查看>>
C Primer Plus 第5章 运算符、表达式和语句 5.2基本运算符
查看>>
java并发库之Executors常用的创建ExecutorService的几个方法说明
查看>>
23种设计模式(1):单例模式
查看>>
socket 编程入门教程(五)UDP原理:4、“有连接”的UDP
查看>>
Jquery获取iframe中的元素
查看>>