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 相关文章推荐
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 PHP
PHP系统命令函数使用分析
Jul 05 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
May 08 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
thinkphp3.2.3 分页代码分享
Jul 28 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 PHP
PHP AjaxForm提交图片上传并显示图片源码
Nov 29 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
Oct 18 PHP
php链式操作的实现方式分析
Aug 12 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数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
在父页面调用子页面的JS方法
2013/09/29 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
2019/09/09 Javascript
python匿名函数的使用方法解析
2019/10/10 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
阿里云:Aliyun.com
2017/02/15 全球购物
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
护理专业自荐信范文
2014/02/26 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
原生JS中应该禁止出现的写法
2021/05/05 Javascript
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript
教你如何用cmd快速登录服务器
2022/06/10 Servers
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技