PHP XML'den Veri Alma
6
●184
- 01-03-2022, 22:38:31Selamlar hocam. İlgili blog yazımda simplexml_load_file() fonksiyonu ile .xml sayfasından döviz kurunu çekmiştik. İşinize yarayabilir.
- 01-03-2022, 22:55:52İlginiz için teşekkür ederim hocam, benim sorunumeycreative adlı üyeden alıntı: mesajı görüntüle
reportElement uuid="d8dd2df5-1c6d-4d4f-b156-aa1d5c13b61f" ile başlayan text elementinin altındaki <textcontent> içinde yazan değeri almak
bunu nasıl yapabilirim? - 01-03-2022, 23:06:38Hocam o zaman CURL kullanacaksınız. İlgili yazıda örnek kullandım.mskorkmaz adlı üyeden alıntı: mesajı görüntüle
$itemName = search('<textcontent>','</textcontent>',$veri)[0];bu şekilde veriyi çekecektir, bu kodu foreach ile döngüye sokacaksınız, $veri)[0] kısmını sadece $veri yapın. - 01-03-2022, 23:16:11simplexml_load_file()
Xml değişkene atayın xml dosyasını
Foreach ile döndürün tümünü atribute leri sql sorgu ile insert edin.
Kolay gelsin - 02-03-2022, 17:47:23arraya çevirerek kullanmak daha kolay olucaktır.
function xmltoarray($xmldata){ $xmlObject = simplexml_load_string($xmldata); $json = json_encode($xmlObject, JSON_PRETTY_PRINT); $phpArray = json_decode($json, true); $result = []; foreach($phpArray['ilkxmltagı']['ikincixmltaagı']['textcontent'] as $row ){ $result[] = Array( 'id'=>$row['id'], 'ad'=>$row['name'] //// kısacası almak istediğin değerin adı. ); } return result; }ben genelde bu şekilde arraya çevirerek kullanıyorum xml verileri. çoğu api artık xml kullanıyor sonuçta...
bu fonksiyon, aldığı xml verilerini array olarak döndürür ama foreach içindeki xml başlıklarının isimlerini girmen gerekli. bu biraz özeliştirilmiş hali yani. burda almak istediğin veriyi belirtmen gerekir. daha basit haliyle şu şekilde..
function xmltoarray($xmldata){ $xmlObject = simplexml_load_string($xmldata); $json = json_encode($xmlObject, JSON_PRETTY_PRINT); $phpArray = json_decode($json, true); return $phpArray; }