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

这篇文章主要介绍了PHP遍历XML文档所有节点的方法,实例分析了php操作XML文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

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

1. contact.xml代码:

  1. <contact >
  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程序设计有所帮助。