En son web geliştirme öğreticiler
 

PHP SimpleXML Ayrıştırıcı


SimpleXML bize kolayca manipüle ve XML veri almak için izin veren bir PHP uzantısıdır.


SimpleXML Ayrıştırıcı

SimpleXML bir ağaç bazlı ayrıştırıcısıdır.

SimpleXML, bir elemanın ismini almanın kolay bir yol sağlar XML belgenin yapısını veya düzenini biliyorsanız ve metinsel içerik bağlıyor.

SimpleXML Eğer diziler ve nesneler topluluğu gibi yinelemek bir veri yapısına bir XML belgesi döner.

DOM ya da Expat çözümleyici ile karşılaştırıldığında, SimpleXML bir elementinden metin verilerini okumak için bir kod az satır alır.


Kurulum

PHP 5 de, SimpleXML fonksiyonları PHP çekirdeğinin bir parçasıdır. Kurulum bu işlevleri kullanmak için gereklidir.


PHP SimpleXML - Telden Oku

PHP simplexml_load_string() işlevi, bir dize XML verilerini okumak için kullanılır.

Böyle, XML verilerini içeren bir değişken olduğunu varsayalım:

$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";

Aşağıdaki örnek, nasıl kullanılacağını gösterir simplexml_load_string() bir dize XML verilerini okumak için işlevini:

Örnek

<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
print_r($xml);
?>
»Run örnek

kodun çıktısını göreceğiz:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

Hata İşleme İpucu: Belgeyi yüklerken tüm XML hatalarını almak için libxml işlevini kullanın ve sonra da hataları üzerinde yineleme. Aşağıdaki örnek kırık bir XML dizesi yüklemeye çalışır:

Örnek

<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</wrongemail>
</document>";

$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
    echo "Failed loading XML: ";
    foreach(libxml_get_errors() as $error) {
        echo "<br>" , $error->message;
    }
} else {
    print_r($xml);
}
?>
»Run örnek

kodun çıktısını göreceğiz:

Failed loading XML:
Opening and ending tag mismatch: user line 3 and wronguser
Opening and ending tag mismatch: email line 4 and wrongemail

PHP SimpleXML - Dosyadan Oku

PHP simplexml_load_file() işlevi, bir dosyadan XML verilerini okumak için kullanılır.

Biz "adlı bir XML dosyası var varsayalım note.xml şöyle",:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Aşağıdaki örnek, nasıl kullanılacağını gösterir simplexml_load_file() bir dosyadan XML verilerini okumak için işlevini:

Örnek

<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
print_r($xml);
?>
»Run örnek

kodun çıktısını göreceğiz:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

İpucu: Bir sonraki bölümde / get SimpleXML ile XML dosyasından düğüm değerleri almak için nasıl gösterir!


Daha PHP SimpleXML

PHP SimpleXML işlevleri hakkında daha fazla bilgi için lütfen ziyaret PHP SimpleXML Referansı.