600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > PHP中数组转换为XML格式

PHP中数组转换为XML格式

时间:2019-03-20 13:30:34

相关推荐

PHP中数组转换为XML格式

php教程|php手册

PHP,中,数组,转换,为,XML,格式,最近,公司,要做,一个,API,接口,输出,格式,要,JSON,与,XML,

php教程-php手册

免费活动网站源码,vscode调试ARM汇编,80端口 ubuntu,tomcat安装教程 失败,sqlite3日期格式,花盆土里有黑色带点红色的小爬虫,php 开源wiki,安康seo网络推广报价,猎头网站模板,html表单模板个人资料lzw

最近公司要做一个API接口,输出格式要有JSON与XML格式, 在PHP中,输入JSON直接json_encode就可以,但输出XML没有提供函数,于是决定自己写一个。formatOutput = true;}/** * 转换数组到XML * * @param array $array要转换的数组 * @param string $rootName要节点名称 * @param string $version版本号 * @param string $encodingXML编码 * * @return string */public static function parse($array, $rootName = oot, $version = 1.0, $encoding = UTF-8) {self::init($version, $encoding);//转换$node = self::convert($array, $rootName);self::$doc->appendChild($node);return self::$doc->saveXML();}/** * 递归转换 * * @param array $array数组 * @param string $nodeName节点名称 * * @return object (DOMElement) */private static function convert($array, $nodeName) {if (!is_array($array)) return false;//创建父节点$node = self::createNode($nodeName);//循环数组foreach ($array as $key => $value) {$element = self::createNode($key);//如果不是数组,则创建节点的值if (!is_array($value)) {$element->appendChild(self::createValue($value));$node->appendChild($element);} else {//如果是数组,则递归$node->appendChild(self::convert($value, $key, $element));}}return $node;}private static function createNode($name) {$node = NULL;//如果是字符串,则创建节点if (!is_numeric($name)) {$node = self::$doc->createElement($name);} else {//如果是数字,则创建默认item节点$node = self::$doc->createElement(item);}return $node;}/** * 创建文本节点 * * @param string || bool || integer $value * * @return object (DOMText || DOMCDATASection ); */private static function createValue($value) {$textNode = NULL;//如果是bool型,则转换为字符串if (true === $value || false === $value) {$textNode = self::$doc->createTextNode($value ? rue : false);} else {//如果含有HTML标签,则创建CDATA节点if (strpos($value, -1) {$textNode = self::$doc->createCDATASection($value);} else {$textNode = self::$doc->createTextNode($value);}}return $textNode;}}

cpa交友源码,vscode缩放快捷,ubuntu一直在tty1,设置tomcat日志,sqlite 递归查询语句,安装微信支付安全插件下载安装,前端数据展示框架有哪些,爬虫抓取阿里云数据,php微信群发,seo宝贝优化,国外像又拍云存储的网站,网页动态导航栏,响应式404页面模板下载lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。