使用SimpleXML 解析xml
最近搞解析XML搞的我是水深火热的,所以打算对PHP5解析XML做个学习小结。今天介绍下与PHP5捆绑在一起的SimpleXML扩展,这个用于可读写XML的新的API,让解析XML不再繁琐和困难,用起来就一个字“爽”。接下来我就告诉你有多爽。
1.今天解析的XML文档格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : test.xml
Author : 蘇哥拉笛
Description:
Purpose of the document follows.
-->
<root>
<row id="1">
<name>Jordan</name>
<age>40</age>
<email>jordan@gmail.com</email>
</row>
<row id="2">
<name>Yao</name>
<age>27</age>
<email>yaoming@yahoo.com.cn</email>
</row>
<row id="3">
<name>sugeladi</name>
<age>22</age>
<email>su@@@@@@ge</email>
</row>
</root>
2.解析XML:
解析XML并把它保存在一个变量中,使用SimpleXML只需要写一行即可完成:
$xml=simplexml_load_file("test.xml")
3.获取你想要标签的值:
比如我想要拿到name标签中的值,你可以这样写:
$name=$xml->row->name;
之后echo $name,得到jordan。如果要得到全部的name标签的值,你可以这样:
foreach($xml -> row as $row){
echo "$row -> name<br>";
}
输出:Jordan
Yao
sugeladi
看到这你发现乐趣了没?哈哈,你想要什么,只要有$xml这个对象,只有你熟悉XML文档的结构,那么取值是不是很方便的说,只要给出相应的节点标签名称,你就可以获取到你想要的值。那么接下来我们继续来玩玩XML解析。
4.按索引访问相应的标签元素值
如果XML结构良好,那么我们可以按索引访问元素,默认索引为0,比如现在我们要拿name是Jordan这项,我们可以这样写:
$name=$xml -> row[0] -> name;
echo $name;
输出:Jordan
5.查找元素的属性值:
我们现在要取<row id="1">的id的值可以这样:
foreach($xml -> row -> attributes() as $id){
echo $id;
}
输出:1
最新文章
- 【笔记】LAMP 环境无脑安装配置 Centos 6.3
- 中国知网cnki(永久会员账号)
- jquery总结06-动画事件04-自定义动画
- IaaS, PaaS, SaaS 解释
- 介绍开源的.net通信框架NetworkComms框架 源码分析(七)ProtobufSerializer
- 【PHP面向对象(OOP)编程入门教程】12.重载新的方法(parent::)
- thinkphp实现导航高亮的简单方法
- linux下网卡启动、配置
- docker学习2-安装实践
- VC++中,如何定义callback函数和它的触发事件?
- 前台将勾选的多个属性放到一个value里面,是一个字符串,传到后台
- Putty设置自己主动两次登录
- HDU2952:Counting Sheep(DFS)
- Akka(1):Actor - 靠消息驱动的运算器
- 开涛spring3(3.2) - DI之循环依赖
- LeetCode &; Q20-Valid Parentheses-Easy
- Openresty 数据共享API.Data Sharing within an Nginx Worker
- c# aes,des,md5加密等解密算法
- python3 函数注意要点
- 打开Excel时提示“向程序发送命令时出现问题”