3

我试图找出一个 DOM 节点是否有具有特定名称的子节点

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

我可以在不遍历节点列表的情况下执行此操作吗?

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

4

1 回答 1

1

您可以使用XPath

$xpath = new DOMXPath($domDocument);
$elements = $xpath->query('/parentName/childName');
if ($elements->length) {
    // has child elements
}
于 2013-03-29T12:00:51.317 回答