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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
php数组总结篇(一)
Sep 30 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
php取得字符串首字母的方法
Mar 25 PHP
Linux系统下php获得系统分区信息的方法
Mar 30 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
php cookie用户登录的详解及实例代码
Jan 03 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
Oct 20 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
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
javascript hashtable实现代码
2009/10/13 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
javascript history对象详解
2017/02/09 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
[03:17]2016完美“圣”典风云人物:冷冷专访
2016/12/08 DOTA
Python简单的制作图片验证码实例
2017/05/31 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
django 环境变量配置过程详解
2019/08/06 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
银行实习自我鉴定
2013/10/12 职场文书
建设工地安全标语
2014/06/07 职场文书
会计专业自荐书
2014/07/08 职场文书
少先队入队仪式主持词
2015/07/04 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL