PHP/XML/XML DOM Tree

Материал из Web эксперт
Перейти к: навигация, поиск

Walking the Document Tree

<?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");
?>
<!--
<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>
-->