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 实现多服务器共享 SESSION 数据
Aug 15 PHP
PHP 作用域解析运算符(::)
Jul 27 PHP
php程序的国际化实现方法(利用gettext)
Aug 14 PHP
ThinkPHP实现支付宝接口功能实例
Dec 02 PHP
php字符串函数学习之substr()
Mar 27 PHP
浅谈php7的重大新特性
Oct 23 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
详解php用static方法的原因
Sep 12 PHP
实例解析php的数据类型
Oct 24 PHP
laravel 执行迁移回滚示例
Oct 23 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 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
解析php取整的几种方式
2013/06/25 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
jQuery插件开发基础简单介绍
2013/01/07 Javascript
javascript的函数作用域
2014/11/12 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
理解javascript回调函数
2014/12/28 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
JavaScript常用工具函数大全
2020/05/06 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
python装饰器初探(推荐)
2016/07/21 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
使用Python来开发微信功能
2018/06/13 Python
详解Python 正则表达式模块
2018/11/05 Python
django实现用户注册实例讲解
2019/10/30 Python
numpy.array 操作使用简单总结
2019/11/08 Python
tensorflow的计算图总结
2020/01/12 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
几个Linux面试题笔试题
2016/08/01 面试题
《学会合作》教学反思
2014/04/12 职场文书
防沙治沙典型材料
2014/05/07 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书