thinkphp将数组存到xml文件中

<h1><span style="font-family:Microsoft YaHei;font-size:24px;color:#ff0000;">array->xml</span></h1>
<span style="background-color: rgb(255, 255, 255);font-size:18px;"><span style="font-family:Microsoft YaHei;">
</span></span>
<span style="background-color: rgb(255, 255, 255);font-size:18px;"><span style="font-family:Microsoft YaHei;">在thinkPHP中将数组存储到xml文件中</span></span>
<span style="background-color: rgb(255, 255, 255);font-size:18px;"><span style="font-family:Microsoft YaHei;">
</span></span>
<span style="font-family:Microsoft YaHei;">$data['name'] = 'myname';
$data['sex'] = 'male';
$data['age']  =  '24';
// dump($data);
$xmldata = xml_encode($data,'utf-8','schedule');
$filename = 'myxml.xml';
$result = file_put_contents('./Public/Xml/'.$filename, $xmldata);</span>

这样就将$data数组中的内容存储到了对应目录下的文件中。


xml->array


将xml文件中的数组读取到数组中

第一步,将XML中的数据,读取到数组对象中 

<span style="font-family:Microsoft YaHei;font-size:18px;">$xml=simplexml_load_file('./Public/Xml/myxml.xml'); //将XML中的数据,读取到数组对象中 </span>
这样得到的是一个SimpleXMLElement Object数组

第二步,将SimpleXMLElement Object数组转换成普通数组


在支付宝接口demo里有这样的写法: 

<span style="font-family:Microsoft YaHei;">/** 
 * 通过节点路径返回字符串的某个节点值 
 * $res_data——XML 格式字符串 
 * 返回节点参数 
 */  
function getDataForXML($res_data,$node)  
{  
    $xml = simplexml_load_string($res_data);  
    $result = $xml->xpath($node);  
  
    while(list( , $node) = each($result))   
    {  
        return $node;  
    }  
}  </span>

其实php提供了更简单的方法,直接把 $xml 对象转换为数据就可以了

<span style="font-family:Microsoft YaHei;">$xml = (array)$xml; </span>

整体代码:

<span style="font-family:Microsoft YaHei;">$xml_array=simplexml_load_file('./Public/Schedule/schedule.xml'); //将XML中的数据,读取到数组对象中 

</span>
<span style="font-family:Microsoft YaHei;">$xml_array = (array)$xml_array;

dump($xml_array);
  //   $this->assign('list',$xml_array);</span>




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值