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 に答える