1 <?php
2 //递归XML文档
3 function getChilds($node){
4 echo "<ul>";
5 if($node->nodeType==3){
6 echo "<li>".$node->nodeValue."</li>"; //取出节点的值
7 }
8 else
9 {
10 echo "<li>".$node->nodeName."</li>"; //取出元素节点的名称
11 if($node->attributes->length>0) //节点的属性的个数大于0,表示此节点有属性
12 {
13 foreach ($node->attributes as $attr){
14 echo "<li>".$attr->value."</li>"; //取出节点的值
15 }
16 }
17 foreach($node->childNodes as $child){ //便利循环子元素
18 getChilds($child); //递归点
19 }
20 }
21 echo "</ul>";
22 }
23 $doc=new DOMDocument();
24 $doc->preserveWhiteSpace=false; //不保护空格,就是导入XML的时候去掉空白字符
25 $doc->load('books.xml');
26 $root=$doc->documentElement; //获得最顶层元素
27 getChilds($root);