ホームページ >php教程 >PHP源码 >PHP 遍历 XML 文档的所有节点

PHP 遍历 XML 文档的所有节点

PHP中文网
PHP中文网オリジナル
2016-05-25 17:15:521016ブラウズ

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>

php代码   

<?php
     function walk_tree ($node, $depth = 0) {
          for ($i = 0, $indent = &#39;&#39;; $i < $depth; $i++)
               $indent .= &#39;     &#39;;
          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 (&#39;contact.xml&#39;);
     print ("<pre class="brush:php;toolbar:false">\n");
     walk_tree ($doc->root ());
     print ("
\n"); ?>

                   

                   

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。