Beispiel #1
0
 /// <summary>
 /// Gets the available villages.
 /// </summary>
 /// <returns></returns>
 public List<Village> GetAvailableVillages()
 {
     List<Village> villages = new List<Village>();
     HtmlNode tableVillages = htmlDocument.DocumentNode.SelectSingleNode("//table[@id='vlist']");
     if (tableVillages == null)
     {
         HtmlNode nodeVillage = htmlDocument.DocumentNode.SelectSingleNode("//h1");
         Village village = new Village();
         village.AddName(nodeVillage.InnerText.Trim());
         villages.Add(village);
     }
     else
     {
         foreach (HtmlNode htmlNodeVillage in tableVillages.SelectNodes("./tbody//tr"))
         {
             //<td class="link"><a href="?newdid=75579" >01</a></td>
             HtmlNode singleNode = htmlNodeVillage.SelectSingleNode("./td[@class='link']");
             if(singleNode!=null)
             {
                 HtmlNode htmlNode = singleNode.SelectSingleNode(".//a");
                 string villageName = htmlNode.InnerText.Trim();
                 string villageId = htmlNode.Attributes["href"].Value.Trim();
                 //<div class="cox">(-82</div>
                 HtmlNode nodeCoordsX = htmlNodeVillage.SelectSingleNode(".//div[@class='cox']");
                 string x = nodeCoordsX.InnerText.Trim().Substring(1);
                 //<div class="coy">64)</div>
                 HtmlNode nodeCoordsY = htmlNodeVillage.SelectSingleNode(".//div[@class='coy']");
                 string trimY = nodeCoordsY.InnerText.Trim();
                 string y = trimY.Substring(0, trimY.Length - 1);
                 Village village = new Village();
                 village
                     .AddName(villageName)
                     .AddId(Misc.String2Number(villageId.Substring(8)))
                     .UpdateCoordinates(Misc.String2Number(x), Misc.String2Number(y));
                 villages.Add(village);
             }
         }
     }
     return villages;
 }