PHP xml_parse_into_struct() fonksiyonu
Tanım ve Kullanım
xml_parse_into_struct() fonksiyonu XML verilerini dizilere解析 eder.
Bu fonksiyon XML verilerini 2 dizide解析 eder:
- Value dizisi - Ayrıştırılan XML'den gelen verileri içeren
- Index dizisi - Value dizisindeki değerlere işaret eden işaretçiler içeren
Başarılıysa, bu fonksiyon 1 döner. Başarısızsa 0 döner.
Sözdizimi
xml_parse_into_struct(parser,xml,value_arr,index_arr)
Parametre | Açıklama |
---|---|
parser | Gerekli. Kullanılacak XML ayrıştırıcıyı belirler. |
xml | Gerekli. Ayrıştırılacak XML verilerini belirler. |
value_arr | Gerekli. XML verilerinin hedef dizisini belirler. |
index_arr | Opsiyonel. Index verilerinin hedef dizisini belirler. |
İpuçları ve yorumlar
Yorum:xml_parse_into_struct() başarısız olursa 0, başarılıysa 1 döner. Bu false ve true ile farklıdır, örneğin === işlevselcisini kullanırken dikkatli olun.
Örnek
XML dosyası:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading> Hatırlatma</heading> <body>Toplantıyı unutmayın!</body> </note>
PHP kodu:
<?php //Geçersiz xml dosyası $xmlfile = 'test.xml'; $xmlparser = xml_parser_create(); // Dosyayı aç ve veriyi oku $fp = fopen($xmlfile, 'r'); $xmldata = fread($fp, 4096); xml_parse_into_struct($xmlparser,$xmldata,$values); xml_parser_free($xmlparser); print_r($values); ?>
Çıktı:
Array ( [0] => Array ( [tag] => NOTE [type] => open [level] => 1 [value] => ) [1] => Array ( [tag] => TO [type] => complete [level] => 2 [value] => George ) [2] => Array ( [tag] => NOTE [value] => [type] => cdata [level] => 1 ) [3] => Array ( [tag] => FROM [type] => complete [level] => 2 [value] => John ) [4] => Array ( [tag] => NOTE [value] => [type] => cdata [level] => 1 ) [5] => Array ( [tag] => HEADING [type] => complete [level] => 2 [value] => Hatırlatma ) [6] => Array ( [tag] => NOTE [value] => [type] => cdata [level] => 1 ) [7] => Array ( [tag] => BODY [type] => complete [level] => 2 [value] => Unutmayın toplantıyı! ) [8] => Array ( [tag] => NOTE [value] => [type] => cdata [level] => 1 ) [9] => Array ( [tag] => NOTE [type] => close [level] => 1 ) )