Mega Code Archive

 
Categories / Php / XML
 

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> -->