设置一个全局变量$deep,默认为0,在开始表头的函数内
加1,在结束表头的函数判断这个全局变量是否仍为0并减1,并将其最大值赋予另一个变量$num($num=max($num,$deep);)
如果$num不为0就说明存在子节点,而字节点数目就是$num

解决方案 »

  1.   

    <?php
    $simple = "<para><note>simple note</note></para>";
    $p = xml_parser_create();
    xml_parse_into_struct($p, $simple, $vals, $index);
    xml_parser_free($p);
    print_r($vals);
    foreach ($vals as $value){
        if ($value['type'] == "open" && $value['tag'] == "PARA") 
            print "PARA has a child";
        if ($value['type'] == "complete" && $value['tag'] == "NOTE") 
            print "NOTE has no child";
    }
    ?>
      

  2.   

    haschildnodes 方法 
      
    作用
      如果指定的节点有一个或更多子节点,传回值为true。
       
    基本语法
      boolValue = xmlDocumentNode.hasChildNodes() ;
       
    说明
      如果此节点有子节点传回值为true,否则传回false 值。
       
    范例
     boolValue = xmlDoc.documentElement.hasChildNodes();
     alert(boolValue);