(PHP 5 >= 5.1.0, PHP 7, PHP 8)
DOMXPath::evaluate — Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir
$ifade
, ?DOMNode $bağlamsal_düğüm
= null
, bool $kaydet
= true
): mixed
ifade
ile belirtilen XPath ifadesini çözümler ve
mümkünse yazılı bir sonuç verir.
ifade
Değerlenderelecek XPath ifadesi.
bağlamsal_düğüm
Seçimlik olarak, göreli XPath sorguları yapmak içindir. Öntanımlı olarak sorgular kök elemana göre çözümlenir.
kaydet
Bağlam düğümünün kapsam içi ad alanı öneklerinin DOMXPath nesnesine otomatik olarak kaydedilip kaydedilmeyeceği. Bu, kapsam dahilindeki her ad alanı için DOMXPath::registerNamespace() öğesini manuel olarak çağırmaya gerek kalmaması için kullanılabilir. Bir ad alanı öneki çakışması olduğunda, yalnızca en yakın soydan gelen ad alanı öneki kaydedilir.
Mümkünse sonucu bir dizge orarak döndürür, değilse belirtilen XPath ifadesi ile eşleşen tüm düğümleri içeren bir DOMNodeList nesnesi döner.
ifade
bozuksa ya da
bağlamsal_düğüm
geçersizse,
DOMXPath::evaluate() false
döndürür.
Örnek 1 - Tüm İngilizce kitapların sayısını döndürmek
<?php
$doc = new DOMDocument;
$doc->load('book.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// sorgumuzu tbody düğümüne göre yapalım
$query = 'count(row/entry[. = "en"])';
$entries = $xpath->evaluate($query, $tbody);
echo "$entries İngilizce kitap var.\n";
?>
Yukarıdaki örneğin çıktısı:
2 İngilizce kitap var.