2016-03-26 21 views
0

2014,2013,2015 yıl boyunca oyunların komut geçmişini ayrıştırıyorum. Aynı yapıya sahipler. Ama bağlantılar farklı.Aynı anda 3 bağlantı ayrıştırma htmlagilitypack

var fourthDoc = htmlWeb.Load("http://soccer.net/2014-2015/results/"); 
var fifthDoc = htmlWeb.Load("http://soccer.net/2013-2014/results/"); 
var sixthDoc = htmlWeb.Load("http://soccer.net/2015-2016/results/"); 

Onun Verileri ayrıştırmak nasıl:

 var Games = 
       fourthDoc.DocumentNode.SelectNodes("@class = 'abc'").Select(a => new Game() 
       { 
        Date = a.SelectNodes("./a/div/div[1]/span").Single().InnerText.Trim(), 
        //.... 
       }); 

Modeli:

public class Game 
    { 
      public int Id {get;set;} 
      public DateTime Date { get; set; } 
      public string FirstTeam { get; set; } 
      public string SecondTeam { get; set; } 
    } 

Nasıl bir yolunda üç bağlantıları birleştirmek? Örneğin

var fourthDoc = htmlWeb.Load("http://soccer.net/2014-2015/results/"+"http://soccer.net/2013-2014/results/"+"http://soccer.net/2015-2016/results/"); 
+0

Lütfen sorunuza daha fazlasını açıklayın; "İki bağlantıyı tek bir yolla birleştirmek" –

+0

Sorumu düzenledim – popov

cevap

1

için emin değilim ama sen dizeleri (url'lerin) bir dizi vermek ve internet sitesinden gelecek tüm verileri ayrıştırmak istiyorlar.

Böyle bir şey denemelisiniz;

 List<string> urls = new List<string> 
          { 
           "http://soccer.net/2014-2015/results/", 
           "http://soccer.net/2013-2014/results/", 
           "http://soccer.net/2015-2016/results/" 
          }; 

     List<Games> games = new List<Games>(); 
     foreach (string url in urls) 
     { 
      var currentData = htmlWeb.Load("url"); 

      var currentListOfGames = 
       currentData.DocumentNode.SelectNodes("@class = 'abc'").Select(a => new Game() 
                        { 
                         Date = a.SelectNodes("./a/div/div[1]/span").Single().InnerText.Trim(), 
                         //.... 
                        }); 

      games.AddRange(currentListOfGames); 
     } 

HTMLAgilityPack en htmlweb.Load yöntemi istek başına yalnızca bir url kabul çünkü.