最近在接入渠道的时候遇到接口返回是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. //强制转换字符串处理,对象单个值处理
    //$xml_object->id对象值
  22. //string(5) "10001"
  23. var_dump((string)$xml_object->id);
  24. echo '<pre>';
  25.  
  26. //$xml_object->node->token对象值
  27. //string(9) "secretKey"
  28. 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);

结果打印:

PHP读取XML文件数据获取节点值的更多相关文章

  1. C#读取xml文件指定节点下的值

    #region 读取xml文件指定节点下的值 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(result); XmlNode root ...

  2. C#中读取xml文件指定节点

    目录(?)[-] XmlDocumentSelectSingleNode方法的使用 XmlDocumentSelectNodes方法的使用 通过节点属性查找指定节点   参考:Select XML N ...

  3. 读取xml文件中节点

    /// <summary> /// /// </summary> /// <param name="xmlpath">节点路径</para ...

  4. 读取XML文件的节点内的内容

    <?xml version="1.0" encoding="utf-8" ?> <data> <tag3>15</ta ...

  5. .net中读取xml文件中节点的所有属性信息

    功能描述: 将数据以xml的格式记录成配置文件,需要获取配置文件中的数据时,则获取对应的配置文件,读取配置文件里对应节点的所有属性. 逻辑实现: 1.将数据配置好在xml文件中. 2.获取xml文件中 ...

  6. C#读取XML文件并取值

    1.新建XML文件: <?xml version="1.0" encoding="utf-8" ?> <SystemInfo> < ...

  7. pyqt5_实例:修改xml文件中节点值

    需求: 将类似如下xml文件的externalid节点值修改成不重复的值 实现该功能的代码Func.py: #coding=utf-8 ''' Created on 2019年10月15日 @auth ...

  8. java Domj4读取xml文件

    先概括,再以代码形式给出. 获取节点: Iterator  Element.nodeIterator();  //获取当前标签节点下的所有子节点 获取 标签: Element Document.get ...

  9. JAVA读取XML文件并解析获取元素、属性值、子元素信息

    JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取  InputStream   DocumentBuilderFactory   Element     Node 前言 最 ...

随机推荐

  1. Python笔记(二十七)_魔法方法_容器

    定制容器 容器类型的协议: 定制不可变容器,只需要定义__len__()和__getitem__()方法 定制可变容器,需要定义__len__().__getitem__().__setitem__( ...

  2. django中orm多表查询,减少数据库查询操作

    .select_related()   的使用

  3. Log4Net使用详解(续)

    转:http://blog.csdn.net/zhoufoxcn/article/details/6029021 说明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址:ht ...

  4. linux--初识别

    镜像网站 下载系统镜像 http://mirrors.163.com/ http://mirrors.sohu.com https://www.netcraft.com/ 命令大全 https://m ...

  5. Vue 基础 day03

    定义Vue 组件 什么是组件:组件的出现,就是为了拆分 Vue 实例的代码量,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件: 组件化和模块化的不同: ...

  6. Eclipse查看jdk源码(Ctrl+左键)

    Window ->Preferences ->Java ->Installed JREs ->选中jdk ->Edit ->选中rt.jar ->source ...

  7. DelayQueue详解

    一.DelayQueue是什么 DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走.这种队列是有序的,即队头对 ...

  8. JavaScript基础2——下拉列表左右选择

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. MongoDB的使用学习之(三)安装MongoDB以及一些基础操作

    原文链接:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html 此博主的 8天学通MongoDB 系列还是不错的,本 ...

  10. C#.Net 调用Java的Web Service

    首先,得有一个web service地址:http://www.baiduc.om/XXServices?wsdl 然后在.net 项目中添加Web引用,并把地址给它输进去 第三.编码: using ...