• 04-05-2022, 13:10:53
    #1
    Merhaba,

    Bir XML dosyasını SimpleXML kütüphanesi kullanarak veritabanına kayıt etmek istiyorum. Veritabanı yapısında ana ürünler ve ürün varyantları ayrı tablolarda tutuluyor. Alt kısımda vermiş olduğum kod parçası ile ana ürünleri rahatlıkla çekip kayıt yapabiliyorum, ancak varyant tablosuna verileri çekme işleminde ne yazıkki başarılı olamadım. SimpleXML dökümanı ve attributes fonksiyonu hakkında yaygın kaynakları inceledim ama yapıyı kuramadım. Firik ve kaynak açısında yardımcı olabilirseniz çok sevinirim.

    XML Yapısı :




    XML Verilerinin Ana Taglerin Okunması ve Kaydı :

  • 04-05-2022, 13:21:17
    #2
    mcfearcombat adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Bir XML dosyasını SimpleXML kütüphanesi kullanarak veritabanına kayıt etmek istiyorum. Veritabanı yapısında ana ürünler ve ürün varyantları ayrı tablolarda tutuluyor. Alt kısımda vermiş olduğum kod parçası ile ana ürünleri rahatlıkla çekip kayıt yapabiliyorum, ancak varyant tablosuna verileri çekme işleminde ne yazıkki başarılı olamadım. SimpleXML dökümanı ve attributes fonksiyonu hakkında yaygın kaynakları inceledim ama yapıyı kuramadım. Firik ve kaynak açısında yardımcı olabilirseniz çok sevinirim.

    XML Yapısı :






    XML Verilerinin Ana Taglerin Okunması ve Kaydı :


    Ana foreach döngüsü içinde varyant içinde foreach döndürün varyantlar için.
    Kolay gelsin
  • 04-05-2022, 18:22:46
    #3
    suleymankocabas adlı üyeden alıntı: mesajı görüntüle
    Ana foreach döngüsü içinde varyant içinde foreach döndürün varyantlar için.
    Kolay gelsin
    Tavsiyeniz için teşekkür ederim Süleyman Hocam, dediğiniz şekilde okuyabildim. Ancak altta eklediğim görselde gözüktüğü üzere gelen XML'de beden ve renk bilgileride option'un altında aynı etiketle ( variantName ve variantValue ) verişlmiş. Bu tarz durum için burada aynı etiketli değeri okuyabilmemiz mümkün olur mu ?

  • 04-05-2022, 19:49:32
    #4
    mcfearcombat adlı üyeden alıntı: mesajı görüntüle
    Tavsiyeniz için teşekkür ederim Süleyman Hocam, dediğiniz şekilde okuyabildim. Ancak altta eklediğim görselde gözüktüğü üzere gelen XML'de beden ve renk bilgileride option'un altında aynı etiketle ( variantName ve variantValue ) verişlmiş. Bu tarz durum için burada aynı etiketli değeri okuyabilmemiz mümkün olur mu ?

    Renk 1. Sırada ve beden 2. Sırada ise yüm ürünlerde işiniz kolay.
    İlk değeri
    Option val name 1 yapın
    2.değeri
    Option vl name 2 yapın
  • 05-05-2022, 06:15:22
    #5
    @mcfearcombat; Üstad ana foreach içerisinde $value->options->option gelen verileri tekrar foreach edersen zaten sana option içerisindeki variantName ve variantValue değerlerini otomatik olarak verecektir. Aşağıdaki foreach kullanarak test edebilirsin.

    <?php
    foreach ($value->options->option as $k => $v) {
    $varName = $v->variantName;
    $varValue = $v->variantValue;
    }