PHP遍历XML文档所有节点的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

Yii配置与使用memcached缓存的方法

本文实例讲述了Yii配置与使用memcached缓存的方法。分享给大家供大家参考,具体如下: 1. 下载memcached软件包,解压,把memcached.exe 放到随意一个地方,比...

详解PHP的Laravel框架中Eloquent对象关系映射使用

详解PHP的Laravel框架中Eloquent对象关系映射使用

零、什么是 Eloquent Eloquent 是 Laravel 的 'ORM',即 'Object Relational Mapping',对象关系映射。ORM 的出现是为了帮我们把...

无需重新编译php加入ftp扩展的解决方法

首先,进入源码目录cd php-5.2.13/ext/ftp #运行phpize生成configure/usr/local/php/bin/phpize #编译,指定php-config...

PHP使用ob_start生成html页面的方法

本文实例讲述了PHP使用ob_start生成html页面的方法。分享给大家供大家参考。具体方法分析如下: ob_start([string output_callback])- 打开输出...

PHP 一个页面执行时间类代码

核心代码 <?php class Timer//页面执行时间类 { var starttime;//页面开始执行时间 var stoptime;//页面结束执行...