folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Delphi XML Parse Sorunsalı ( Yardım)



Delphi XML Parse Sorunsalı ( Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    karakutu
    karakutu's avatar
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek

    Elimde şöyle bir XML dosyası var delphi ile buradan veri çekmem lazım sadece Feed bölümlerini alabiliyorum sabahtran beri çıldırıcağım <entry> lerdeki nasıl çekerim bilen birileri bi yardım etsin :\ 

    https://imagizer.imageshack.us/v2/1145x624q90/835/2dne.png


    Mevzu derin | Papikolas Planet
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Hocam ben de delirmiştim, pek örnek de yok piasada.

    Yarına atayım sana ufak xmlli bi projem vardı


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    karakutu
    karakutu's avatar
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek
    HolyOne bunu yazdı

    Hocam ben de delirmiştim, pek örnek de yok piasada.

    Yarına atayım sana ufak xmlli bi projem vardı

    çok makbule geçer çok teşekkür eder duada ederim 


    Mevzu derin | Papikolas Planet
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    http://stackoverflow.com/questions/9282370/xml-parsing-txmldocument

    https://code.google.com/p/omnixml/downloads/list

    şunlara bakarmısın bi hocam


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    karakutu
    karakutu's avatar
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek

    hocam teşekkür ederim bunlar geçti elimden ama ingilizcem yok okuyup anlamam lazım açıklamaları amatörüm ben delphide


    Mevzu derin | Papikolas Planet
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    delphi'de amatörüm demişsin de, gene de önereyim

    regex kullanmayı denedin mi?

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    karakutu
    karakutu's avatar
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek
    Daft bunu yazdı

    delphi'de amatörüm demişsin de, gene de önereyim

    regex kullanmayı denedin mi?

    Hocam teşekkür ederim ancak bu dahada karmaşık geldi bana. 

    özetlemek gerekirse : http://saraylimetal.com/zamantuneli/   linkindeki verileri çekmem lazım, bi proje için alt yapı hazırlıyorum ancak kısıtlı bilgiye sahibim yardımcı olmaya çalıştığınız için tekrar teşekkür ederim. Ve Holyone şehimizin göndereceği örneği merakla beklemekteyim. Ben yapabilirim diyenlerde olursa bana sadece <entry> </entry> arası lazım onları çeke bilecek kod örneğini gösterirselerde sevinirim istediğim sadece örnek. 


    Mevzu derin | Papikolas Planet
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    XML den usd çıkaran bişeyi böyle yazmıştım belki işine yarar örnek olur

    procedure TForm1.Button2Click(Sender: TObject);
    var
      i, kontrol: integer;
      isim, alis, satis, balis, bsatis, euro: WideString;
      satir, sutun: integer;
      baslangic: IXMLNode;
      usdval: String;
    begin
      kontrol := 0;
    
      try
    
        if kontrol = 0 then
        begin
          XMLDocument1.Active := false;
          XMLDocument1.FileName := 'http://www.tcmb.gov.tr/kurlar/today.xml';
          XMLDocument1.Active := true;
        end;
        i := 1;
        baslangic := XMLDocument1.DocumentElement.ChildNodes.FindNode('Currency');
        repeat
          isim := baslangic.ChildNodes.Nodes['Isim'].Text;
          alis := baslangic.ChildNodes.Nodes['ForexBuying'].Text;
          satis := baslangic.ChildNodes.Nodes['ForexSelling'].Text;
          balis := baslangic.ChildNodes.Nodes['BanknoteBuying'].Text;
          bsatis := baslangic.ChildNodes.Nodes['BanknoteSelling'].Text;
          euro := baslangic.ChildNodes.Nodes['CrossRateEuro'].Text;
          { StringGrid1.Cells[0,i]:=isim;
            StringGrid1.Cells[1,i]:=alis;
            StringGrid1.Cells[2,i]:=satis;
            StringGrid1.Cells[3,i]:=balis;
            StringGrid1.Cells[4,i]:=bsatis;
            StringGrid1.Cells[5,i]:=euro; }
          i := i + 1;
          baslangic := baslangic.NextSibling;
    
          if (isim = 'AMERİKAN DOLARI') then
          begin
            usdval := bsatis;
            break;
          end;
    
        Until baslangic = nil;
        if (usdval <> '') then
        begin
    
    if(sender<>nil) then    showmessage('USD fiyatı güncellendi');
           Edit2.Text := (usdval);
        end;
      except
        Edit2.Text := '0';
        showmessage('Dolar fiyatı alınamadı. manuel olarak giriniz.');
      end;
      if (Sender <> nil) then
        updategtoplam;
    end;

    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Bu da xml okyan bi kodum

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <urunler indirimyuzde="0" bayidefaultkomisyon="0" yillikfiyatyuzde="39">
    
    <urun id="1" name="Client"	desc="Personel bilgisayarlarına kurulan modül"	birimfiyat="39"  group="Standard"/>
    <urun id="2" name="Admin"	desc="Yönetici bilgisayarına kurulan yazılım"	birimfiyat="149"  group="Standard"  />
    <urun id="3" name="Ana kullanım"						birimfiyat="399"  group="Standard"  />
    
    <urun id="5" name="Client"	desc="Personel bilgisayarlarına kurulan modül"	birimfiyat="50"  group="Professional"/>
    <urun id="6" name="Admin"	desc="Yönetici bilgisayarına kurulan yazılım"	birimfiyat="150"  group="Professional"  />
    <urun id="7" name="Ana kullanım"						birimfiyat="500"  group="Professional"  />
    <urun id="4" name="Eğitim"							birimfiyat="0"		miktar="1"  />
    </urunler>
    

     

    procedure TForm1.Button3Click(Sender: TObject);
    var
      i, kontrol: integer;
      desctxt, idstr, nametxt, birimfiyattxt, disabledtxt: WideString;
      u: Turun;
      StartItemNode, ANode: IXMLNode;
      usdval, fn: String;
      strs: tstringstream; grp,engname,engdesc:string;
    begin
    
      ComboBox1.Items.Clear;
      dic.clear;
      // XMLDocument2.Active := false;
    
      // XMLDocument2.FileName := ;
    
      // XMLDocument2.Active := true;
      fn := apppath + 'Fiyatlar.xml';
      if (not fileexists(fn)) then
      begin
        showmessage('Fiyatlar.xml dosyası bulunamadı');
        exit;
      end;
    
      // XMLDocument2.Encoding:= tencoding.UTF8;
      strs := tstringstream.Create('', Tencoding.UTF8);
      strs.LoadFromFile(fn);
      // showmessage(strs.DataString);
      strs.Seek(0, tseekorigin.soBeginning);
      XMLDocument2.LoadFromXML(strs.DataString);
    
    
      // XMLDocument2.LoadFromStream( strs, TXMLEncodingtype.xetUTF_8);
      // XMLDocument2.LoadFromFile(fn);
      // XMLDocument2.Encoding:='utf8';
    
      indirimyuzde := 0;
      bayidefaultkomisyon := 25;
      yillikfiyatyuzde := 40;
    
      indirimyuzde := strtoint2(XMLDocument2.DocumentElement.Attributes
        ['indirimyuzde']);
      bayidefaultkomisyon := strtoint2(XMLDocument2.DocumentElement.Attributes
        ['bayidefaultkomisyon']);
      yillikfiyatyuzde := strtoint2(XMLDocument2.DocumentElement.Attributes
        ['yillikfiyatyuzde']);
    
      Edit3.Text := inttostr(bayidefaultkomisyon);
      yillikfiyatibare := 'Yıllık lisans bedelleri aşşağıdaki gibidir.';
      edit4.Text:=inttostr(indirimyuzde);
      StartItemNode := XMLDocument2.DocumentElement.ChildNodes.FindNode('urun');
    
      ANode := StartItemNode;
      repeat
    
        idstr := UTF8Decode(ANode.Attributes['id']);
        if (ANode.HasAttribute('name')) then
          nametxt := (ANode.Attributes['name'])
        else
          nametxt := '';
    
    
              if (ANode.HasAttribute('engname')) then
          engname := (ANode.Attributes['engname'])
        else
          engname := '';
    
              if (ANode.HasAttribute('engdesc')) then
          engdesc := (ANode.Attributes['engdesc'])
        else
          engdesc := '';
    
    
        if (ANode.HasAttribute('desc')) then
          desctxt := (ANode.Attributes['desc'])
        else
          desctxt := '';
        if (ANode.HasAttribute('birimfiyat')) then
          birimfiyattxt := (ANode.Attributes['birimfiyat'])
        else
          birimfiyattxt := '';
    
               if (ANode.HasAttribute('group')) then
          grp := (ANode.Attributes['group'])
        else
          grp := '';
        if (ANode.HasAttribute('disabled')) then
          disabledtxt := lowercase(ANode.Attributes['disabled']);
    
        u.id := strtoint(idstr);
        u.desc := desctxt;
        u.name := nametxt;
        u.birimfiyat := strtoint2(birimfiyattxt);
        u.miktar := 1;
        u.group:=  grp;
        u.disabled := false;
    
        if(grp<>'') then
          if(combobox4.Items.IndexOf(grp)<0) then begin
          combobox4.Items.Add(grp);
              if(combobox4.Items.Count=1) then combobox4.ItemIndex:=0;
          end;
        if (disabledtxt = 'true') then
          u.disabled := true;
    
    
     if((sametext(grp,combobox4.Items[combobox4.ItemIndex])) or (grp='')) then
     begin
        ComboBox1.Items.Add(u.name);
    
        dic.Add(nametxt, u);
        end;
    
        ANode := ANode.NextSibling;
      until ANode = nil;
    
    end;
    

    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gizem
    sLeymN
    sLeymN's avatar
    Kayıt Tarihi: 31/Mart/2008
    Erkek

    delphide regex yok mu hocam? onunla alabilirsin? 


    Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    karakutu
    karakutu's avatar
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek

    Eyvalah işimi çok güzel gördü teşekkür ediyorum Şeyh 


    Mevzu derin | Papikolas Planet
Toplam Hit: 6311 Toplam Mesaj: 16