php取xml节点属性值,PHP读取XML文件数据获取节点值

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

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

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

xml文件:

10001

admin

secretKey

php文件:

$file = 'test.xml';

//将XML中的数据,读取到数组对象中

$xml_object=simplexml_load_file($file);

//全部对象结果集合

//object(SimpleXMLElement)#1 (3) { ["id"]=> string(5) "10001" ["userName"]=> string(5) "admin" ["node"]=> object(SimpleXMLElement)#2 (1) { ["token"]=> string(9) "secretKey" } }

var_dump($xml_object);

echo '

';

//$xml_object->id对象值

//object(SimpleXMLElement)#2 (1) {[0]=>string(5) "10001"}

var_dump($xml_object->id);

echo '

';

//$xml_object->id对象值

//10001 (echo强制转换结果后获取值,注意:实际取值还需要在处理!)

echo($xml_object->id);

echo '

';

//强制转换字符串处理,对象单个值处理

//$xml_object->id对象值

//string(5) "10001"

var_dump((string)$xml_object->id);

echo '

';

//$xml_object->node->token对象值

//string(9) "secretKey"

var_dump((string)$xml_object->node->token);

结果打印:

f7d23cc220743187b4022e1e37b1d93a.png

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

demo实例:

$file = 'test.xml';

//将XML中的数据,读取到数组对象中

$xml_object=simplexml_load_file($file);

$xml_json=json_encode($xml_object);//对象转成json

$xml_arr=json_decode($xml_json,true);//json再转成数组

echo "

";

var_dump($xml_arr);

结果打印:

e7813f7bf7c9c9c27afeb71db88cb0c0.png

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

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

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

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

读取xml文件中节点

/// /// /// /// 节点路径

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

<?xml version="1.0" encoding="utf-8" ?> 15

&period;net中读取xml文件中节点的所有属性信息

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

C&num;读取XML文件并取值

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

pyqt5&lowbar;实例:修改xml文件中节点值

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

java Domj4读取xml文件

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

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

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

随机推荐

Java中Sting类型对象内容不可改变

String拥有一个特殊点叫:String对象的内容不可改变!   在调用诸如String对象的replace()等方法时,不是在原Sting对象的基础上改变对象内容,而是创建了一个新的String对 ...

easyuidatagrid中load&comma;reload&comma;loadData的区别。

摘要:datagrid中有load,reload,loadData那三个方式,皆是加载数据的,但又有差别.下面让我们一起来看看: 首先,load方法,比如我已经定义一个datagrid的id为grid ...

【原创】JPEG图像密写研究(二) 哈夫曼树的建立

[原创]记录自己研究的过程,仅供参考,欢迎讨论... 在根据JPEG图像文件结构读取完文件后,提取出其中DHT段,利用其中内容建立哈夫曼树,便于之后译码工作.这里需要注意的是文件中的哈夫曼表数量不固定 ...

Directx11学习笔记【十四】 使用最新的Effect框架和SDK

由于之前一直在看directx11龙书学习,因此sdk一直用的Microsoft DirectX SDK (June 2010) 版本,最近在stackoverflow上问dx11相关问题时,一直被大 ...

StringBuffer和String的相互转换

1:用法: * A:String -- >StringBuffer * a:通过构造方法 * b:通过append()方法 * B:StringBuffer --> String * a: ...

XMPP&lpar;一&rpar;-openfire服务端的安装和搭建

XMPP全称:可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯.表示和需求响应服务中的XML数据元流式传输.XMPP以Jabber协议为基础,而Jabber是即时通 ...

mybatis模糊查询

今天遇到一个模糊查询的问题,需求是:根据传入的时间查询当天的所有数据,解决办法是使用$或者contact,具体sql模拟如下: select * from table_name where creat ...

16个富有创意的HTML5 Canvas动画特效集合

HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了.HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一 ...

flex布局实现elment容器布局

一.flex布局是什么 flex布局,意为"弹性布局",是一种响应式的布局方法 采用 Flex 布局的元素,称为 Flex 容器,它的所有子元素自动成为容器成员. 先放上一个ele ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值