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 相关文章推荐
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
PHP iconv 函数转gb2312的bug解决方法
Oct 11 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
php创建多级目录的方法
Mar 24 PHP
PHP模板解析类实例
Jul 09 PHP
thinkPHP5.0框架应用请求生命周期分析
Mar 25 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
Laravel框架下的Contracts契约详解
Mar 17 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
python中range()与xrange()用法分析
2016/09/21 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
初三家长会邀请函
2014/01/18 职场文书
洗发露广告词
2014/03/14 职场文书
批评与自我批评范文
2014/10/15 职场文书
校运会班级霸气口号
2015/12/24 职场文书