Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

XML Parse etmek

Konu, 'PHP' kısmında osmanizim tarafından paylaşıldı.

  1. osmanizim

    osmanizim Üye

    Kayıt:
    31 Temmuz 2008
    Mesajlar:
    53
    Beğenilen Mesajlar:
    0
    Merhaba arkadaşlar yine yardımlarınızı bekiyorum..


    ajax a yeni başladım işin içine xml parse vs girdi ne denediysem olmadı yapmak istediğim post ettiğim veride belirlediğim alanı çekmek.


    PHP:
    <request action="get_all_ctramt" session="" buysell="buy" ccy="f2ab6cf7d0e2ac1ab6145d8a62887aa8" type=""><amount value="100"/></request><answer result="true">



    <amount value="100"/> bu bölümde ki 100 alanını çekmek istiyorum en kolay şekilde nasıl yapabilirim.


    Şimdiden teşekkürler.
     
  2. Romansanta

    Romansanta Daimi Üye

    Kayıt:
    3 Mart 2010
    Mesajlar:
    1,424
    Beğenilen Mesajlar:
    0
    Meslek:
    Amele
    Şehir:
    1903'den
  3. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    forum ceviz == google search engine :)
     
  4. osmanizim

    osmanizim Üye

    Kayıt:
    31 Temmuz 2008
    Mesajlar:
    53
    Beğenilen Mesajlar:
    0
    deathisonitsway hocam inan bir gündür uğraşıyorum senin regex derslere de tekrar baktım pattern bulamadım php hata vermekten bıktı ben almaktan bıkmadım :) Sen ne güzel deseni veriyordun ben uyguluyordum yap bir güzellik :)

    XML Parse sınıflarını inceliyorum phpclass dan ama farklı ağaç yapısındaki xml çıktılarını örnek göstermiş benimkisi biraz farklı sanırım anlamadım bir türlü
     
  5. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    dostum anlıyorumda azıcık kendini vermek yeterli simplexml yi load edicen sadece

    ornek kodu :

    PHP:

    header
    ("Content-Type: text/html; charset=utf8");
            
    $xml=simplexml_load_file("dosya_adi");
            foreach (
    $xml->request as $request) {                                                                           echo ''deger :'-----><b>'.$request->name.'</b><br>';                               }



    şeklinde bir kod kullancan...yani simplexml yi dosyana dahil ettikten sonra xml parse edecegin dosyayı elde etmiş oluyorsun zaten..xml dosyalarıda

    <blabblah> ...............</blabblah>

    seklinde baslayıp bittigi icin foreach tan gecirecegin başlık bu degerdir..sendeki deger request ondan sonra istedigini al...mesela sen buysell i alabilirsin $request->buysell; diyerek


    anladın mı
     
  6. osmanizim

    osmanizim Üye

    Kayıt:
    31 Temmuz 2008
    Mesajlar:
    53
    Beğenilen Mesajlar:
    0
    sağol hocam fakat azıcık değil 24 saati aşkın süredir kendimi veriyorum burda sormamak için çok direndim gerçekten.

    Verdiğin örneği php.net de de gördüm tekrar uyguladım ama çıktı gelmiyor defalarca denedim.Problem bende mi kodda mı php versiyonunda mı anlamadım.


    test.xml içeriği

    PHP:
        <request action="get_all_ctramt" session="" buysell="buy" ccy="f2ab6cf7d0e2ac1ab6145d8a62887aa8" type=""><amount value="470"/></request>

    Denediğim kod

    PHP:
    header("Content-Type: text/html; charset=utf8");
            
    $xml=simplexml_load_file("test.xml");
            foreach (
    $xml->request as $request) {                                                                           
            echo 
    $request->ccy;                               
            }
     
  7. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    test.xml yi bir webe atsana bakayım
     
  8. osmanizim

    osmanizim Üye

    Kayıt:
    31 Temmuz 2008
    Mesajlar:
    53
    Beğenilen Mesajlar:
    0
    http://yarentekstil.com/example.xml burdaki amount value değerini çekmek asıl istediğim.Ya hata alıyorum ya da çıktı bomboş geliyor.. Çok sağol yine vakit ayırdın.
     
  9. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,712
    Beğenilen Mesajlar:
    48
    Şehir:
    Ankara
  10. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    dostum bu xml değil zaten,biraz geç cevap oldu ama..furkan ustanın dediği gibi...o yüzden tarayıcı bunun xml oldugunu anlamaz...standart bir xml icin manualden simple xml calısmalısın biraz...bu verdigğin acil ise eger regexle yapabilirsin ama sanırım regexle de beceremedin
     
  11. cgelis

    cgelis Aktif Üye

    Kayıt:
    28 Aralık 2011
    Mesajlar:
    424
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Mühendisi
    Şehir:
    İstanbul
    Kod:
    $dom = DOMDocument::loadXML('<request action="get_all_ctramt" session="" buysell="buy" ccy="f2ab6cf7d0e2ac1ab6145d8a62887aa8" type="">
    <amount value="470"/>
    </request>');
    echo $dom->getElementsByTagName("amount")->item(0)->getAttribute("value");
    
    
    umarım işinizi görür.
     
  12. osmanizim

    osmanizim Üye

    Kayıt:
    31 Temmuz 2008
    Mesajlar:
    53
    Beğenilen Mesajlar:
    0
    evet hocam regex ile de beceremedim ama cgelis arkadaşın verdiği kod işimi gördü.

    Sana da çok teşekkür ederim yine bilgini vaktini esirgemedin.
     
  13. osmanizim

    osmanizim Üye

    Kayıt:
    31 Temmuz 2008
    Mesajlar:
    53
    Beğenilen Mesajlar:
    0
    fazlasıyla gördü hocam çok sağol bir günümü aldı bunu yapmak keşke daha önce yazsaydım foruma.

    iyi günler dilerim