PHP SimpleXML Ayrıştırıcı
SimpleXML, XML verilerini kolayca işlememize ve almamıza izin veren bir PHP uzantısıdır.
SimpleXML Ayrıştırıcı
SimpleXML, ağaç tabanlı bir ayrıştırıcıdır.
SimpleXML, XML belgesinin yapısını veya düzenini biliyorsanız, bir öğenin adını, niteliklerini ve metin içeriğini almanın kolay bir yolunu sağlar.
SimpleXML, bir XML belgesini, diziler ve nesneler topluluğu gibi yineleyebileceğiniz bir veri yapısına dönüştürür.
DOM veya Expat ayrıştırıcı ile karşılaştırıldığında SimpleXML, bir öğeden metin verilerini okumak için daha az kod satırı alır.
Kurulum
PHP 5'ten itibaren SimpleXML işlevleri PHP çekirdeğinin bir parçasıdır. Bu işlevleri kullanmak için kurulum gerekmez.
PHP SimpleXML - Dizeden Oku
PHP simplexml_load_string()
işlevi, bir dizeden XML verilerini okumak için kullanılır.
Bunun gibi XML verilerini içeren bir değişkenimiz 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 simplexml_load_string()
, bir dizeden XML verilerini okumak için işlevin nasıl kullanılacağını gösterir:
Ö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);
?>
Yukarıdaki kodun çıktısı şöyle olacaktır:
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 ve ardından hataları yinelemek için libxml işlevini kullanın. Aşağıdaki örnek, bozuk bir XML dizesini 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);
}
?>
Yukarıdaki kodun çıktısı şöyle olacaktır:
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.
Şuna benzeyen " note.xml " adında bir XML dosyamız olduğunu varsayalım :
<?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 simplexml_load_file()
, bir dosyadan XML verilerini okumak için işlevin nasıl kullanılacağını gösterir:
Örnek
<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
print_r($xml);
?>
Yukarıdaki kodun çıktısı şöyle olacaktır:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
İpucu: Sonraki bölüm, SimpleXML ile bir XML dosyasından düğüm değerlerinin nasıl alınacağını/alınacağını gösterir!
Daha Fazla PHP SimpleXML
PHP SimpleXML işlevleri hakkında daha fazla bilgi için PHP SimpleXML Referansımızı ziyaret edin .