PHP遍历XML文档所有节点的方法


Posted in PHP onMarch 12, 2015

本文实例讲述了PHP遍历XML文档所有节点的方法。分享给大家供大家参考。具体实现方法如下:

1. contact.xml代码:

<contact id="43956">
   <personal>
     <name>
        <first>J</first>
        <middle>J</middle>
        <last>J</last>
     </name>
     <title>Manager</title>
     <employer>National</employer>
     <dob>1971-12-22</dob>
   </personal>
</contact>

2. php代码:

<?php
   function walk_tree ($node, $depth = 0) {
     for ($i = 0, $indent = ''; $i < $depth; $i++)
        $indent .= '   ';
     if ($node->type == XML_ELEMENT_NODE) {
        print ($indent . $node->tagname . "\n");
        $kids = $node->children ();
        $nkids = count ($kids);
        if ($nkids > 0) {
           $depth++;
           for ($i = 0; $i < $nkids; $i++)
             walk_tree ($kids[$i], $depth);
           $depth--;
        }
     }
   }
   $doc = xmldocfile ('contact.xml');
   print ("<pre>\n");
   walk_tree ($doc->root ());
   print ("</pre>\n");
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php 删除一个数组中的某个值.兼容多维数组!
Feb 18 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
php检测图片主要颜色的方法
Jul 01 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
Feb 23 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
PHP文件操作详解
Dec 30 PHP
PHP 实现公历日期与农历日期的互转换
Sep 13 PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 PHP
标准PHP的AES加密算法类
Mar 12 #PHP
php接口数据加密、解密、验证签名
Mar 12 #PHP
php查询相似度最高的字符串的方法
Mar 12 #PHP
PHP实现通用alert函数的方法
Mar 11 #PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 #PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 #PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 #PHP
You might like
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
yii操作session实例简介
2014/07/31 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
Python中文编码那些事
2014/06/25 Python
python抓取网页中图片并保存到本地
2015/12/01 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
opencv 阈值分割的具体使用
2020/07/08 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
交通安全教育制度
2014/02/02 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
护士岗位职责
2014/02/16 职场文书
党员活动日总结
2014/05/05 职场文书
公司年会策划方案
2014/05/17 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
Golang bufio详细讲解
2022/04/21 Golang