2013-03-29 160 views
2

我试图找出一个DOM节点具有有一定的名字检查节点是否有

$yes = false; 
foreach($el->childNodes as $node){ 
    if($node->nodeName == 'foo'){ 
    $yes = true; 
    } 
} 

我能做到这一点,而不遍历节点列表子节点特定的子节点?

有一个hasChildNodes功能,但它不接受任何节点名称参数:(

回答

1

您可以使用XPath

$xpath = new DOMXPath($domDocument); 
$elements = $xpath->query('/parentName/childName'); 
if ($elements->length) { 
    // has child elements 
}