Sözdizimi:
xpath() fonksiyonunun sözdizimi aşağıda verilmiştir.
dizi xpath(dize $yol)Bu işlevin bir yol değeri alan bir argümanı vardır ve yol, XML belgesinin herhangi bir düğümünde varsa, düğümün değeri bir dizi olarak döndürülür. Bu öğreticinin sonraki bölümünde bu işlevin farklı kullanımları açıklanmıştır.
XML belgesi oluştur:
adlı bir XML dosyası oluşturun Ürün:% s.xml Bu dosyayı ayrıştırmak için PHP dosyasının oluşturulacağı konumda aşağıdaki içerikle.
Kullanımı simplexml_load_file() işlev:
simplexml_load_file() işlevi tarafından oluşturulan nesne ile xpath() işlevi, bu öğreticinin bu bölümünde gösterilmiştir.
Örnek-1: Belirli XML düğüm değerlerini okuyun
Aşağıdaki örnek, xpath() işlev yolunu tanımlayarak XML belgesinden belirli düğüm değerlerinin içeriğinin nasıl okunacağını gösterir. nesne değişkeni, $xml belirli düğüm değerlerini okumak için oluşturulur Ürün:% s.xml dosya. '/ÜRÜNLER/ÜRÜN/MARKA' xpath() içinde tüm MARKA düğüm değerlerini okumak için kullanılır. '/ÜRÜNLER/ÜRÜN' xpath() içinde tüm alt düğüm değerlerini okumak için kullanılır ÜRÜN düğümler. her biri için değerleri yazdırmak için döngü kullanılır İSİM ve FİYAT düğümler.
//XML dosyasını okumak için nesne oluştur$xml = simplexml_load_file('ürünler.xml');
//Tüm MARKA düğüm değerlerini ara
$brand = $xml->xpath('/ÜRÜNLER/ÜRÜN/MARKA');
//dizi değerlerini yazdır
Eko "
Marka isimlerinin listesi:
";foreach($brand as $isim)
echo "$isim
";
//Tüm PRODUCT düğüm değerlerini ara
$ürünler = $xml->xpath('/ÜRÜNLER/ÜRÜN');
Eko "
Ürün adı ve fiyat listesi:
";Eko "
isim | Fiyat |
---|---|
$product->NAME | $$product->PRICE |
?>
Çıktı:
Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-2: Koşullara göre belirli XML düğüm değerlerini okuyun
Aşağıdaki örnek, xpath() işlevini kullanarak koşula dayalı olarak belirli düğüm değerlerinin nasıl okunacağını gösterir. yol değeri, '/ÜRÜNLER/ÜRÜN[FİYAT > 600]', tüm alt düğümlerinin değerlerini arayacaktır ÜRÜN değerinin bulunduğu düğüm FİYAT düğüm 600'den fazla. her biri için değerleri yazdırmak için döngü kullanılır İSİM ve FİYAT düğümler.
//XML dosyasını okumak için nesne oluştur$xml = simplexml_load_file('ürünler.xml');
//Fiyat değeri 600'den fazla olan ürünleri arayın
$products = $xml->xpath('/ÜRÜNLER/ÜRÜN[FİYAT > 600]');
Eko "
Fiyatın 600'den fazla olduğu ürün adı ve fiyat listesi:
";Eko "
isim | Fiyat |
---|---|
$product->NAME | $$product->PRICE |
?>
Çıktı:
Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-3: Özniteliğe dayalı belirli XML düğüm değerlerini okuyun
Aşağıdaki örnek, xpath() işlevini kullanarak XML belgesinin belirli düğümünün öznitelik değerlerine dayalı olarak belirli düğüm değerlerinin nasıl okunacağını gösterir. yol değeri, '/ÜRÜNLER/ÜRÜN[@category=”Monitör”]' tüm alt düğümlerinin değerlerini arayacaktır ürün kategori özniteliğinin değerinin olduğu düğüm monitör. her biri için değerleri yazdırmak için döngü kullanılır MARKA ADI, ve FİYAT düğümler.
//XML dosyasını okumak için nesne oluştur$xml = simplexml_load_file('ürünler.xml');
// çategory öznitelik değeri 'Monitor' olan ürünleri arayın
$products = $xml->xpath('/PRODUCTS/PRODUCT[@category="Monitör"]');
Eko "
Kategoriye göre ürün markası, adı ve fiyatı listesi (Monitör):
";Eko "
Marka | isim | Fiyat |
---|---|---|
$product->MARKA | $product->NAME | $$product->PRICE |
?>
Çıktı:
Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Kullanımı SimpleXMLEeleman sınıf:
SimpleXMLElement sınıf nesnesi yaratılarak xpath() işlevinin kullanımları bu öğreticinin bu bölümünde gösterilmiştir.
Örnek-4: Bir değişkende XML içeriği tanımlayarak xpath() kullanımı
Aşağıdaki örnek, dosya yerine bir değişkende bildirilen XML belgesinin düğüm değerlerinin nasıl okunacağını gösterir. XML içeriği şurada saklanır: $xml_veri değişken. “/müşteriler/müşteri” xpath() fonksiyonunun alt düğümlerinin tüm değerlerini okumak için argüman değeri olarak kullanılır müşteri düğüm. Sonraki, bir her biri için değerleri yazdırmak için döngü kullanılır isim düğüm. “/müşteriler/müşteri[@department='HR']” değerinin bulunduğu müşteri düğümünün alt düğümlerinin tüm değerlerini okumak için başka bir xpath() işlevinin bağımsız değişken değeri olarak kullanılır Bölüm nitelik İK. Sonraki, her biri için bir değerleri yazdırmak için döngü kullanılır e-posta düğüm.
$xml_veri = <<XML;
//XML verilerini okumak için nesneyi tanımlayın
$xml = new SimpleXMLElement($xml_data);
//Tüm müşteri verilerini okumak için yolu tanımlayın
$müşteriler = $xml->xpath("/müşteriler/müşteri");
//Müşterilerin adını yazdır
Eko "
Müşteri adlarının listesi:
";foreach($müşteri olarak $müşteri)
echo "$müşteri->ad
";
// İK departmanının tüm müşteri verilerini okumak için yolu tanımlayın
$müşteriler = $xml->xpath("/customers/customer[@department='HR']");
//Müşterilerin e-postasını yazdır
Eko "
Müşterinin İK departmanının e-postası:
";foreach($müşteri olarak $müşteri)
echo "$müşteri->e-posta
";
?>
Çıktı:
Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Sonuç:
Belirli yola veya koşullu yola veya öznitelik değerine sahip yola dayalı olarak XML belgesinin düğüm değerlerini okumak için xpath() işlevini kullanmanın iki farklı yolu bu öğreticide birden çok örnek kullanılarak açıklanmıştır.