Advertisement
tankcr

Card

Jun 16th, 2014
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.82 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net;
  7. using System.IO;
  8. using HtmlAgilityPack;
  9. using System.Xml.Serialization;
  10.  
  11. namespace ROD_Deck_Builder
  12. {
  13.     public class GetPage
  14.     {
  15.         public static HtmlAgilityPack.HtmlNode GetPageData(string url)
  16.         {
  17.  
  18.             string weburl = url;
  19.             WebClient dl = new WebClient();
  20.             dl.Encoding = Encoding.UTF8;
  21.             string page = dl.DownloadString(weburl);
  22.             HtmlDocument mydoc = new HtmlDocument();
  23.             mydoc.LoadHtml(page);
  24.  
  25.             HtmlNode table = mydoc.DocumentNode.SelectSingleNode("//table[@class='witiable sortable']");
  26.             var tableHeaders = table.SelectNodes("tr[th]/th");
  27.             foreach (var header in tableHeaders)
  28.             {
  29.                 string columnName = header.InnerText.Trim();
  30.             }
  31.  
  32.             var tableRows = table.SelectNodes("tr").OfType<HtmlNode>().Skip(1);
  33.             foreach (var row in tableRows)
  34.             {
  35.                 Cards cardstable = new Cards();
  36.                 //string singleLine;
  37.                 //string[] splitApart = singleLine.Split(',');
  38.                 var rowcolumns = row.SelectNodes("td");
  39.                 foreach (var column in rowcolumns)
  40.                 {
  41.                     string columnValue = column.InnerText.Trim();
  42.                 }
  43.                     Card item = new Card();
  44.                     item.Rarity = Convert.ToString(rowcolumns[0].InnerText).TrimEnd('\r', '\n');
  45.                     item.Name = Convert.ToString(rowcolumns[1].InnerText).TrimEnd('\r', '\n');
  46.                     item.Realm = Convert.ToString(rowcolumns[2].InnerText).TrimEnd('\r', '\n');
  47.                     item.Faction = Convert.ToString(rowcolumns[3].InnerText).TrimEnd('\r', '\n');
  48.                     item.MaxAtk = Convert.ToString(rowcolumns[4].InnerText).TrimEnd('\r', '\n');
  49.                     item.MaxDef = Convert.ToString(rowcolumns[5].InnerText).TrimEnd('\r', '\n');
  50.                     item.Total = Convert.ToInt32(rowcolumns[6].InnerText);
  51.                     item.Cost = Convert.ToInt32(rowcolumns[7].InnerText);
  52.                     item.AttEff = Convert.ToInt32(rowcolumns[8].InnerText);
  53.                     item.DefEff = Convert.ToInt32(rowcolumns[9].InnerText);
  54.                     item.OverallEff = Convert.ToInt32(rowcolumns[10].InnerText);
  55.                     item.Skill = Convert.ToString(rowcolumns[11].InnerText).TrimEnd('\r', '\n');
  56.                     item.EventSkl1 = Convert.ToString(rowcolumns[12].InnerText).TrimEnd('\r', '\n');
  57.                     item.EventSkl2 = Convert.ToString(rowcolumns[13].InnerText).TrimEnd('\r', '\n');
  58.                     cardstable.TableData.Add(item);
  59.             }
  60.            return table;
  61.         }
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement