原码笔记

原码笔记

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

小诸哥 0

本文实例讲述了php遍历XML文档所有节点的方法。分享给大家供大家参考。具体实现方法如下:

1. contact.xml代码:

  1. <contact id="43956">;
  2.      <personal>
  3.          <name>
  4.          <first>J</first>
  5.          <middle>J</middle>
  6.          <last>J</last>
  7.          </name>
  8.          <title>Manager</title>
  9.          <employer>National</employer>
  10.          <dob>1971-12-22</dob>
  11.      </personal>
  12. </contact>

2. php代码:

  1. <?php
  2.      function walk_tree ($node, $depth = 0) {
  3.          for ($i = 0, $indent = ''; $i < $depth; $i++)
  4.          $indent .= ' ';
  5.          if ($node->type == XML_ELEMENT_NODE) {
  6.          print ($indent . $node->tagname . "\n");
  7.          $kids = $node->children ();
  8.          $nkids = count ($kids);
  9.          if ($nkids > 0) {
  10.              $depth++;
  11.      for ($i = 0; $i < $nkids; $i++)
  12.                  walk_tree ($kids[$i], $depth);
  13.              $depth--;
  14.          }
  15.          }
  16.      }
  17.      $doc = xmldocfile ('contact.xml');
  18.      print ("<pre>\n");
  19.      walk_tree ($doc->root ());
  20.      print ("</pre>\n");
  21. ?>

希望本文所述对大家的php程序设计有所帮助。

标签: XML 所有节点