php将xml转换成 对象 or 数组

我们开发时候经常遇到请求返回的数据是XML格式的,根据自己代码需要可能要将数据转换为object(对象)格式,或者是array(数组)格式,根据自己需求来转换。

先简单说下理论:

一,将xml转换为对象。

这个不多说,直接有函数就能搞定,其中有两个函数。

simplexml_load_string()simplexml_load_file()

simplexml_load_string()参数是xml字符串;

simplexml_load_file()参数是xml文件地址或url;

二,将xml转换为数组。

将要将XML数据转成object(对象)格式的数据;
然后用json_encode()函数将object格式转成json格式数据;
最后用json_decode()函数将json格式转成数组形式即可。

simplexml_load_string

$xml = 
'<?xml version="1.0" encoding="utf-8"?>
<sps-api-request id="ST01-00131-101">
<merchant_id>80000</merchant_id>
<service_id>000</service_id>
<cust_code>nafvz4puwV1PPrQX</cust_code>
<order_id>test2022051114051768670</order_id>
<item_id>ITEMI2022051102051791619</item_id>
<item_name>g2WDWINnj6SVaTU=</item_name>
<tax>11</tax>
<amount>202</amount>
<order_rowno>1</order_rowno>
<encrypted_flg>0</encrypted_flg>
<request_date>20220511140517</request_date>
<limit_second>600</limit_second>
<sps_hashcode>f2d715e97e34bb56d989547p1b75caa29d10ea</sps_hashcode>
</sps-api-request>';

$xml =simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);

//xml转object
$xml= json_encode($xml);  //objecct转json
$xml=json_decode($xml,true); //json转array
echo '<pre>';
var_dump($xml);

simplexml_load_file

$xml =simplexml_load_file('./test.xml');//当前路径下的xml文件
$xml= json_encode($xml);  //objecct转json
$xml=json_decode($xml,true); //json转array
echo '<pre>';
var_dump($xml);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值