php

PHP'de xpath() kullanımı

PHP'de xpath() kullanımı
XML belgesi, az miktarda veriyi depolamak için kullanılır ve bazen, PHP komut dosyasını kullanarak yol değerine dayalı olarak XML belgesinin belirli içeriğini okumak gerekir. xpath() işlevi, bir XML belgesinin içeriğini ayrıştırmak için kullanılır. Bu işlev kullanılarak kullanılabilir simplexml_load_file() işlevi veya nesnesini oluşturarak SimpleXMLEeleman sınıf. xpath() işlevi, bu öğreticide gösterilen belirli XML düğümü değerlerini okumak için kullanılabilir.

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.




MN-56345
DELL
15 inç Dell Monitör
700


HD-34278
SAMSUNG
1TB Samsung HDD
520


MS-67457
LOGITECH
Logitech Kablosuz Fare
100


MN-76453
HP
14 inç HP Monitör
750

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 "";
Eko "";
//dizi değerlerini yazdır
foreach($products as $product)
Eko "";

Eko "
isimFiyat
$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 "";
Eko "";
//dizi değerlerini yazdır
foreach($products as $product)
Eko "";

Eko "
isimFiyat
$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 "";
Eko "";
//dizi değerlerini yazdır
foreach($products as $product)
Eko "";

Eko "
MarkaisimFiyat
$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 = <<

md. mahbub
[e-posta korumalı]


Farhana Zamanı
[e-posta korumalı]


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.

How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...