• 15-11-2012, 20:51:05
    #1
    Merhaba ,
    Sitemden rss ile veri çekiyorum. Data life engine sistemi kullanıyordum önceden oranın rss'i daha farklıydı. Şimdi wordpress'Den çekiyorum. Her etiket eklendiğinde <item> kısmı daha büyük oluyor.. etiketleri <category> altında verip duruyor. yani her etiket için
    <category>csharp</category>
    <category>cplusplus</category>
    Gibi gibi ekliyor..
    Ben rss'leri

      rssIndir(); //ilk rss dosyasını indiriyorum
    
                xmlVerisi.Load(@"c:\rss.xml"); //sonra çekiyorum
                XmlNodeList xmlNodeList = xmlVerisi.GetElementsByTagName("item");
                foreach (XmlNode node in xmlNodeList)
                {
     if (say == 1)
                    {
                        label1.Text = node.ChildNodes[0].InnerText;
                        konuhakkinda1 = node.ChildNodes[13].InnerText;
                        if (konuhakkinda1.Length > 150)
                        {
                            konuhakkinda1 = konuhakkinda1.Substring(0, 150);
                            string regExp = @".{0,40}([ ]|$)";
                            string yeniSatir = @"$0" + "\n";
                            Regex regex = new Regex(regExp);
                            konuhakkinda1 = regex.Replace(konuhakkinda1, yeniSatir);
                            konuhakkinda1 = konuhakkinda1.TrimEnd();
                            int s = konuhakkinda1.Length;
                            konuhakkinda1 = konuhakkinda1.Insert(s, "[...]");
                        }
                        say++;
                    }
    gibi gibi gidiyorum.. burda say değişkenide her if bloğunda arttırıyorum.
    Burda konuhakkinda1 = node.ChildNodes[13].InnerText; kodunu görmüşsünüzdür. Bu kod <item></item> arasındaki kodları kontrol ederken onüçüncü tag'ın arasındaki verileri çekiyor. Ama sitede birsürü etiket eklenmiş ise malesef benim çekeceğim 13. tag değişiyor. bunu nasıl ayarlayabilirim.
    atknuludag.com/feed linkinde <description> tagları arasındaki veriyi çekmek istiyorum. ama etiket eklenince malesef başka yerdeki veriyi çekiyor

  • 15-11-2012, 23:51:06
    #2
    tam anlamadım sorunu ama son childi almak istiyorsan
    node.ChildNodes[13] yerine mesela

    node.ChildNodes[node.ChildNodes.Count-1] i kullanabilirsin.. yada linq kullanarak yapabilirsin
  • 16-11-2012, 13:11:32
    #3
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    tam anlamadım sorunu ama son childi almak istiyorsan
    node.ChildNodes[13] yerine mesela

    node.ChildNodes[node.ChildNodes.Count-1] i kullanabilirsin.. yada linq kullanarak yapabilirsin
    Hocam şöyle ben şimdi child komutu ile veri çekiyorum.. Bu verilerden <description> kısmını çekmem lazım. ama malesef makaleye fazla etiket veya az etiket eklersem 13. kısımda olan description kısmı 14,15 vb. oluyor.
  • 16-11-2012, 15:27:22
    #4
    Tamam hocam yaptım..
    label1.Text = node["title"].InnerText;
    Böyle kullanınca hata vermeden çalıştı
  • 16-11-2012, 16:14:43
    #5
    evet node da string key ve int index olarak erişebiliyor olman lazım. bu durumlarda key i kullanman en mantıklısı senin de yaptğın şekilde
  • 16-11-2012, 16:23:54
    #6
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    evet node da string key ve int index olarak erişebiliyor olman lazım. bu durumlarda key i kullanman en mantıklısı senin de yaptğın şekilde
    Teşekkürler hocam yardımların için