//using System; //using System.Collections.Generic; //using System.Linq; //using System.Text; //using System.Data; //using System.IO; //using System.Data.Linq; //using System.Data.Linq.Mapping; //using System.Reflection; //using System.Linq.Expressions; //using System.ComponentModel; //using HtmlAgilityPack; //using Soccer_Score_Forecast.LinqSql; //namespace Soccer_Score_Forecast //{ // class TableHtmlAgilityPack // { // public static DataTable GetHtmlTable(string _html, string _tableTag, int _rowSkip) // { // DataTable dt = new DataTable(); // //string readText = File.ReadAllText(_filePath); // HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); // doc.LoadHtml(_html); // try // { // #region ??html??????table,????,???html // var query = from html in doc.DocumentNode.SelectNodes(_tableTag).Cast<HtmlNode>() // from table in html.SelectNodes("tbody").Cast<HtmlNode>() // from row in table.SelectNodes("tr").Cast<HtmlNode>() // select row; // #endregion // #region ????????? // var r1 = query.Skip(_rowSkip).FirstOrDefault(); // int i = 0; // dt.Columns.Add(i.ToString()); // var query2 = from col in r1.SelectNodes("td").Cast<HtmlNode>() // select col; // foreach (var c in query2) // { // i++; // dt.Columns.Add(i.ToString()); // } // #endregion // #region ????????? // foreach (var r in query) // { // i = 0; // DataRow dataRow = dt.NewRow(); // dataRow[i.ToString()] = r.Line; // var query3 = from col in r.SelectNodes("td").Cast<HtmlNode>() // select col; // foreach (var c in query3) // { // i++; // dataRow[i.ToString()] = c.OuterHtml; // } // dt.Rows.Add(dataRow); // } // #endregion // } // catch { } // return dt; // } // public static decimal InsertLiveHtmlTableToDB(DataTable dt) // { // DataClassesMatchDataContext match = new DataClassesMatchDataContext(); // var result = match.live_Table.Where(r => r.live_table_id > 0); // match.live_Table.DeleteAllOnSubmit(result); // match.SubmitChanges(); // string ddate = null; // Queue<string> todayDate = new Queue<string>(); // foreach (DataRow aa in dt.Rows) // { // if (HtmlDateToStrLive(aa[1].ToString()) != null) // { // if (HtmlDateToStrLive(aa[1].ToString()).IndexOf("????") == -1) // { // ddate = HtmlDateToStrLive(aa[1].ToString()); // ddate = ddate.Replace("?", "-").Replace("?", "-").Replace("?", " "); // todayDate.Enqueue(ddate); // } // else // { // ddate = todayDate.Dequeue(); // } // } // if (HtmlTextToStr(aa[3].ToString()) != null) // { // live_Table lt = new live_Table(); // lt.html_position = aa[0].ToString(); // lt.match_type = HtmlTextToStr(aa[2].ToString()); // lt.s_time = HtmlTextToStr(aa[3].ToString()); // lt.home_team = HtmlTextToStr(aa[5].ToString()); // lt.full_time_score = HtmlTextToStr(aa[6].ToString()); // lt.away_team = HtmlTextToStr(aa[7].ToString()); // lt.half_time_score = HtmlTextToStr(aa[8].ToString()); // lt.s_date = ddate; // lt.home_team_big = HtmlHrefToStr(aa[5].ToString()); // lt.away_team_big = HtmlHrefToStr(aa[7].ToString()); // match.live_Table.InsertOnSubmit(lt); // match.SubmitChanges(); // } // } // return match.live_Table.Select(e => e.live_table_id).Max(); // } // public static decimal InsertLastHtmlTableToDB(DataTable dt) // { // DataClassesMatchDataContext match = new DataClassesMatchDataContext(); // foreach (DataRow aa in dt.Rows) // { // if (HtmlTextToStr(aa[3].ToString()) != null) // { // result_tb rt = new result_tb(); // rt.html_position = aa[0].ToString(); // rt.match_type = HtmlTextToStr(aa[1].ToString()); // rt.s_time = HtmlTextToStr(aa[2].ToString()); // rt.home_team = HtmlTextToStr(aa[3].ToString()); // rt.full_time_score = HtmlTextToStr(aa[4].ToString()); // rt.away_team = HtmlTextToStr(aa[5].ToString()); // rt.half_time_score = HtmlTextToStr(aa[6].ToString()); // rt.odds = HtmlTextToStr(aa[7].ToString()); // rt.win_loss_big = HtmlTextToStr(aa[8].ToString()); // rt.s_date = HtmlDateToStrResult(aa[2].ToString()); // rt.home_team_big = HtmlHrefToStr(aa[3].ToString()); // rt.away_team_big = HtmlHrefToStr(aa[5].ToString()); // match.result_tb.InsertOnSubmit(rt); // match.SubmitChanges(); // } // } // return match.result_tb.Select(e => e.result_tb_id ).Max(); // } // public static string HtmlTextToStr(string html) // { // string text = null; // HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); // doc.LoadHtml(html); // var a = doc.DocumentNode.SelectSingleNode("td"); // if (a == null) return text; // text = a.InnerText; // return text; // } // public static string HtmlHrefToStr(string html) // { // string text = null; // HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); // doc.LoadHtml(html); // var a = doc.DocumentNode.SelectSingleNode("td").SelectSingleNode("a[@href]"); // if (a == null) return text; // text = a.Attributes["href"].Value; // text = text.Replace("javascript:", "").Trim(); // return text; // } // public static string HtmlDateToStrResult(string html) // { // string text = null; // HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); // doc.LoadHtml(html); // var a = doc.DocumentNode.SelectSingleNode("td").SelectSingleNode("div[@title]"); // if (a == null) return text; // text = a.Attributes["title"].Value; // return text; // } // public static string HtmlDateToStrLive(string html) // { // string text = null; // HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); // doc.LoadHtml(html); // var a = doc.DocumentNode.SelectSingleNode("td[@class='date']"); // if (a == null) return text; // text = a.InnerText; // return text; // } // public static string GetNumber(String str) // { // string ss = ""; // for (int i = 0; i < str.Length; i++) // { // if (Char.IsNumber(str, i) == true) // { // ss += str.Substring(i, 1); // } // //else // //{ // // if (str.Substring(i, 1) == ",") // // { // // ss += str.Substring(i, 1); // // } // //} // } // return ss; // } // public static int StringCount(string string1, string czstring, int count) // { // string1 = "find" + string1; // if (string1.IndexOf(czstring) > 0) // { // count = count + 1; // string string2 = string1.Remove(0, string1.IndexOf(czstring)+czstring.Length ); // StringCount(string2, czstring, count); // } // return count; // } // } //}