shanyuliang / array2xml
数组转XML工具
1.0.1
2019-09-02 02:27 UTC
This package is auto-updated.
Last update: 2024-09-29 05:22:04 UTC
README
数组转XML工具。
安装
$ composer require shanyuliang/array2xml
用法
- 普通
use Shanyuliang\Array2xml\Array2xml; $arr = [ 'aaa' => [ 'bbb' => 'ccc' ] ]; $array2xml = new Array2xml(); $result = $array2xml->generate($arr);
结果
{ 'code' => 0, 'errer' => '', 'data' => '<?xml version="1.0" encoding="utf-8"?> <aaa> <bbb>ccc</bbb> </aaa>' }
- 为键添加属性和cdata
use Shanyuliang\Array2xml\Array2xml; $arr = [ 'aaa' => [ 'bbb' => 'ccc', 'eee' => 'fff' ] ]; //add charset and version, default charset: utf-8 version 1.0 $array2xml = new Array2xml('utf-8', '1.0'); //add attribute for key $attribute = [ 'aaa' => [ 'xmlns' => 'https://www.shanyuliang.com', 'date' => '2019-8-31' ] ]; //add cdata for key $cdata = ['bbb']; $result = $array2xml->generate($arr, $attribute, $cdata);
结果
{ 'code' => 0, 'errer' => '', 'data' => '<?xml version="1.0" encoding="utf-8"?> <aaa xmlns="https://www.shanyuliang.com" date="2019-8-31"> <bbb><![CDATA[ccc]]></bbb> <eee>fff</eee> </aaa>' }
3.多重列表
use Shanyuliang\Array2xml\Array2xml; $arr = [ 'xmlHead' => [ 'A' => 'aaa', 'B' => 'bbb', 'C' => [ 'Aa' => '111', 'Ab' => '222' ], 'D|1' => [ 'D1' => 'd1' ], 'D|2' => [ 'D2' => 'd2' ] ] ]; $array2xml = new Array2xml(); $result = $array2xml->generate($arr);
结果
{ 'code' => 0, 'errer' => '', 'data' => '<?xml version="1.0" encoding="utf-8"?> <xmlHead> <A>aaa</A> <B>bbb</B> <C> <Aa>111</Aa> <Ab>222</Ab> </C> <D> <D1>d1</D1> </D> <D> <D2>d2</D2> </D> </xmlHead>' }
在Laravel中使用
public function getXml(Array2xml $array2xml) { $arr = [ 'aaa' => [ 'bbb' => 'ccc', 'eee' => 'fff' ] ]; $response = $array2xml->generate($arr); }
服务模型
public function getXml() { $arr = [ 'aaa' => [ 'bbb' => 'ccc', 'eee' => 'fff' ] ]; $response = app('array2xml')->generate($arr); }
贡献
您可以通过以下三种方式之一进行贡献
代码贡献过程并不十分正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附有适用的单元测试。
许可证
MIT