SimpleXMLElement
PHP Manual

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.2.0, PHP 7)

SimpleXMLElement::registerXPathNamespaceSonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur

Açıklama

bool registerXPathNamespace ( string $önek , string $isimalanı )

Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur. Özellikle, XML belgenin, isim alanı öneklerinin değiştirilmesi durumunda kullanışlıdır. Bu yöntem, isim alanındaki düğümlere kodda değişiklik yapmadan erişmek amacıyla ilişkili isim alanı için bir önek oluşturur.

Değiştirgeler

önek

isimalanı ile belirtilen isim alanı için Xpath ifadesinde kullanılacak isim alanı öneki.

isimalanı

Xpath ifadesi için kullanılacak isim alanı. Belirtilen önek'in kullanıldığı XPath ifadeleri veya XML belgelerinin bir sonuç üretmesi için kullanılacak isim alanı.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 - Bir XPath ifadesinde kullanılacak isim alanı önekinin belirtilmesi

<?php

$xml 
= <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
    <title>XPath Kitabı</title>
    <chapter id="1">
        <chap:title>1. Fasıl</chap:title>
        <para>Önemli ifade çeşitlerinden biri konumsal yoldur. Bir konumsal
        yol bağlamsal düğüme göreli olarak bir düğüm kümesini seçer. İfadenin
        konumsal yol olduğu durumda değerlendirme sonucu, konumsal yol
        tarafından seçilen düğümleri içeren düğüm kümesidir. Konumsal yollar
        düğüm kümelerini süzmekte kullanılan ifadeleri dönüşümlü olarak
        içerebilir. İki çeşit konumsal yol vardır: Göreli konumsal yollar ve
        mutlak konumsal yollar.</para>
    </chapter>
    <chapter id="2">
        <chap:title>2. Fasıl</chap:title>
        <para>Bir göreli konumsal yol, / imleriyle birbirlerinden ayrılmış bir
        veya daha fazla konumdan oluşur. Göreli konumsal yoldaki bu konumlar
        soldan sağa birlikte bir bütün oluştururlar. Her konumda bağlamsal
        düğüme göreli bir düğüm kümesi seçilir ve kümedeki her düğüm sonraki
        konumun bağlamsal düğümü olur. Bir mutlak konumsal yol / iminden sonra
        gelen bir göreli konumsal yoldan oluşur. Tek başına / imi, bağlamsal
        düğümü içeren belgenin kök düğümünü seçer. Kök düğüm, bu imden sonra
        gelen göreli konumsal yolun ilk konumunun bağlamsal düğümü olur.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c''http://example.org/chapter-title');
$result $sxe->xpath('//c:title');

foreach (
$result as $title) {
  echo 
$title "\n";
}

?>

Örnekte, bir isim alanının chap önekiyle bir XML belgede nasıl gösterildiğine dikkat edin. Bu belgenin (veya bir benzerinin) geçmişte, aynı isim alanı için c önekini kullanmış olduğunu varsayalım. Önek değiştiğinden XPath ifadesi beklenen sonucu vermeyecek ve ifadenin değiştirilmesi gerekecektir. İşte bu noktada registerXPathNamespace ile bu gibi önek değişikliklerinde ifadenin değiştirilmesi gereğini ortadan kaldırmak mümkün olur.

Ayrıca Bakınız


SimpleXMLElement
PHP Manual