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

5年以前  |  阅读数:676 次  |  编程语言: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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8