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 4.2书写安全的脚本
Oct 09 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
php文件上传表单摘自drupal的代码
Feb 15 PHP
PHP求最大子序列和的算法实现
Jun 24 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 PHP
浅析php变量作用域的一些问题
Aug 08 PHP
PHP中shuffle数组值随便排序函数用法
Nov 21 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
Feb 03 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
PHP中PDO事务处理操作示例
May 02 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
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
php下Memcached入门实例解析
2015/01/05 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
Python下载指定页面上图片的方法
2016/05/12 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
2014年自我评价
2014/01/04 职场文书
法律七进实施方案
2014/03/15 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
护理专业自我评价
2015/03/11 职场文书
旅游投诉信范文
2015/07/02 职场文书
员工规章制度范本
2015/08/07 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python