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 相关文章推荐
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
Apr 18 PHP
初品cakephp 入门基础
Feb 16 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
PHP ignore_user_abort函数详细介绍和使用实例
Jul 15 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
如何解决PHP无法实现多线程的问题
Sep 25 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
PHP按指定键值对二维数组进行排序的方法
Dec 22 PHP
php实现生成code128条形码的方法详解
Jul 19 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
TP5框架页面跳转样式操作示例
Apr 05 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性能分析工具XHProf安装使用教程
2015/05/13 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
Python设计模式之门面模式简单示例
2018/01/09 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
文员个人求职自荐信
2013/09/21 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
公司委托书格式范文
2014/10/09 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
八年级作文之感恩
2019/11/22 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
详解Python requests模块
2021/06/21 Python