public ushort Parse(string htmlSingleRowInput) { var statsColumn = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[5]"); var catchRate = statsColumn.SelectSingleNode(".//tr[2]/td[2]").InnerText.ToLower(); return(ushort.Parse(catchRate)); }
public QuickMove Parse(string htmlSingleRowInput) { var nameNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[1]"); var typeNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[2]//img"); var DamageNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[3]"); var EnergyIncreaseNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[4]"); var CoolDownNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[5]"); var quickMove = new QuickMove(); //Name quickMove.Name = nameNode.InnerText.Trim(); quickMove.MoveId = string.Join("-", quickMove.Name.Split(new char[] { '-', ' ' }).Select(s => s.ToLowerInvariant())).Trim(); //Type var src = typeNode.GetAttributeValue("src", string.Empty); var typeAsText = Regex.Match(src, @"/([A-Za-z]+?)\.gif").Groups[1].Value; quickMove.Type = (PokemonType)Enum.Parse(typeof(PokemonType), typeAsText, true); //Damage quickMove.Damage = ushort.Parse(DamageNode.InnerText); //EnergyIncreased quickMove.EnergyGenerated = ushort.Parse(EnergyIncreaseNode.InnerText); //CoolDown quickMove.CoolDown = float.Parse(CoolDownNode.InnerText.Replace(" seconds", string.Empty)); return(quickMove); }
private IEnumerable <string> GetMoves(string html, string xpath) { var movesColumn = HtmlUtils.GetSingleHtmlNode(html, xpath); var moves = movesColumn.SelectNodes(".//u").Select(item => item.InnerText.ToLowerInvariant()); return(moves.Select(move => string.Join("-", move.Split(' ').ToArray())).ToList()); }
public ushort Parse(string htmlSingleRowInput) { var candiesColumn = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[6]"); var rowContent = candiesColumn.InnerText; var match = Regex.Match(rowContent, "[0-9]{2,3}").Value; return(string.IsNullOrEmpty(match) ? (ushort)0 : ushort.Parse(match)); }
public ushort Parse(string htmlSingleRowInput) { var nameColumn = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[1]"); var rowContent = nameColumn.InnerText; var match = Regex.Match(rowContent, "[0-9]{3}").Value; return(ushort.Parse(match)); }
public PokemonType[] Parse(string htmlSingleRowInput) { var nameColumn = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[4]"); var hrefs = nameColumn.SelectNodes(".//a").Select(node => node.GetAttributeValue("href", null)); return(hrefs.Select(href => { var typeAsText = Regex.Match(href, @"/([A-Za-z]+?)\.shtml").Groups[1].Value; return (PokemonType)Enum.Parse(typeof(PokemonType), typeAsText, true); }).ToArray()); }
public ChargeMove Parse(string htmlSingleRowInput) { var nameNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[1]"); var typeNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[2]//a"); var DamageNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[3]"); var CriticalHitNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[4]"); var CoolDownNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[5]"); var EnergyBarsNode = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[6]/img"); var chargeMove = new ChargeMove(); //Name chargeMove.Name = nameNode.InnerText.Trim(); chargeMove.MoveId = string.Join("-", chargeMove.Name.Split(new char[] { '-', ' ' }).Select(s => s.ToLowerInvariant())).Trim(); //Type var href = typeNode.GetAttributeValue("href", string.Empty); var typeAsText = Regex.Match(href, @"/([A-Za-z]+?)\.shtml").Groups[1].Value; chargeMove.Type = (PokemonType)Enum.Parse(typeof(PokemonType), typeAsText, true); //Damage chargeMove.Damage = ushort.Parse(DamageNode.InnerText); //CriticalHit chargeMove.Critical = ushort.Parse(CriticalHitNode.InnerText.Replace("%", string.Empty)); //CoolDown chargeMove.CoolDown = float.Parse(CoolDownNode.InnerText.Replace(" seconds", string.Empty)); //EnergyBars var src = EnergyBarsNode.GetAttributeValue("src", string.Empty); chargeMove.EnergyBars = ushort.Parse(src.Replace("energy.png", string.Empty)); return(chargeMove); }
public string Parse(string htmlSingleRowInput) { var nameColumn = HtmlUtils.GetSingleHtmlNode(htmlSingleRowInput, "./tr/td[3]"); return(HtmlUtils.HtmlDecode(nameColumn.SelectSingleNode(".//a").InnerText.ToLower())); }