最近搞解析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

最新文章

  1. 【笔记】LAMP 环境无脑安装配置 Centos 6.3
  2. 中国知网cnki(永久会员账号)
  3. jquery总结06-动画事件04-自定义动画
  4. IaaS, PaaS, SaaS 解释
  5. 介绍开源的.net通信框架NetworkComms框架 源码分析(七)ProtobufSerializer
  6. 【PHP面向对象(OOP)编程入门教程】12.重载新的方法(parent::)
  7. thinkphp实现导航高亮的简单方法
  8. linux下网卡启动、配置
  9. docker学习2-安装实践
  10. VC++中,如何定义callback函数和它的触发事件?
  11. 前台将勾选的多个属性放到一个value里面,是一个字符串,传到后台
  12. Putty设置自己主动两次登录
  13. HDU2952:Counting Sheep(DFS)
  14. Akka(1):Actor - 靠消息驱动的运算器
  15. 开涛spring3(3.2) - DI之循环依赖
  16. LeetCode &amp; Q20-Valid Parentheses-Easy
  17. Openresty 数据共享API.Data Sharing within an Nginx Worker
  18. c# aes,des,md5加密等解密算法
  19. python3 函数注意要点
  20. 打开Excel时提示“向程序发送命令时出现问题”

热门文章

  1. http-equiv 了解
  2. bat根据星期启动程序
  3. centos7 添加用户并授权root权限
  4. Array、ArrayList 区别
  5. oracle_外部表的两种实现方式oracle_loader[datapump]
  6. 捕获长时间不提交的SQL语句
  7. ubuntu初次设置root密码
  8. C# 在引用插件中 出现的问题| Csharp cite the plugin problem
  9. ThinkJava-访问权限控制
  10. mac电脑链接安卓手机的方法