• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP读取XML文件数据获取节点值

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近在接入渠道的时候遇到接口返回是xml数据.现在接口数据返回json数据格式比较常见.

如何获取xml里面真正数据? 对象结果集合单个值的强制转换处理.(直接代码说明)

demo示例:  创建xml文件:test.xml,存放在和读取的php文件在相同级别目录下面.

xml文件:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <node>
3     <id>10001</id>
4     <userName>admin</userName>
5     <node>
6         <token>secretKey</token>
7     </node>
8 </node>

 

php文件:

 1 <?php
 2     $file = 'test.xml';
 3     //将XML中的数据,读取到数组对象中
 4     $xml_object=simplexml_load_file($file); 
 5 
 6     //全部对象结果集合
 7     //object(SimpleXMLElement)#1 (3) { ["id"]=> string(5) "10001" ["userName"]=> string(5) "admin" ["node"]=> object(SimpleXMLElement)#2 (1) { ["token"]=> string(9) "secretKey" } }
 8     var_dump($xml_object);
 9     echo '<pre>';
10 
11     //$xml_object->id对象值
12     //object(SimpleXMLElement)#2 (1) {[0]=>string(5) "10001"}
13     var_dump($xml_object->id);
14     echo '<pre>';
15 
16     //$xml_object->id对象值
17     //10001 (echo强制转换结果后获取值,注意:实际取值还需要在处理!)
18     echo($xml_object->id);
19     echo '<pre>';
20 
21     //强制转换字符串处理,对象单个值处理
22 //$xml_object->id对象值 23 //string(5) "10001" 24 var_dump((string)$xml_object->id); 25 echo '<pre>'; 26 27 //$xml_object->node->token对象值 28 //string(9) "secretKey" 29 var_dump((string)$xml_object->node->token);

 

结果打印:

 

通过上面的解释,我们也可以使用另一种方法获取xml节点值的数据问题:  json_encode() 对象转成json, json_decode() json再转成数组 .  获取数组直接处理数据就简单. 

demo实例:

 1 <?php
 2     $file = 'test.xml';
 3     //将XML中的数据,读取到数组对象中
 4     $xml_object=simplexml_load_file($file); 
 5 
 6     $xml_json=json_encode($xml_object);//对象转成json 
 7     $xml_arr=json_decode($xml_json,true);//json再转成数组
 8 
 9     echo "<pre>";
10     var_dump($xml_arr);

 

结果打印:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php把excel数值格式转成日期格式问题发布时间:2022-07-10
下一篇:
nginx和php-fpm关系发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap