Мне нужен список штатов США и округов штата - PullRequest
0 голосов
/ 08 мая 2018

Мне нужно включить список штатов США и округов штатов в приложение, над которым я работаю. Так может кто-нибудь, пожалуйста, дайте мне знать, где я могу найти этот список для загрузки в формате Json или .plist.

Спасибо

1 Ответ

0 голосов
/ 08 мая 2018

Вы можете делать все, что захотите, если сосредоточитесь на этом.

Я написал вам инструмент для извлечения этих данных из известного обновленного источника (Википедия).

Код можно скачать с Github .

using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using HtmlAgilityPack;
using Newtonsoft.Json;

namespace GetCitiesCounties
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(@"Hitting Wikipedia");

            var uri = new Uri("https://en.wikipedia.org/wiki/List_of_United_States_counties_and_county_equivalents");
            var client = new HttpClient();
            var rs = client.GetAsync(uri).Result;
            if (rs.IsSuccessStatusCode)
            {
                var htmlContent = rs.Content.ReadAsStringAsync().Result;
                var htmlDoc = new HtmlDocument();
                htmlDoc.LoadHtml(htmlContent);
                var list = new List<dynamic>();
                var nodes = htmlDoc.DocumentNode.SelectNodes("//table[@class='wikitable sortable']//tr");

                Console.WriteLine(@"Processing Rows");

                int rowIndex = 0;
                foreach (var row in nodes)
                {
                    if (rowIndex++ > 0)
                    {
                        var county = row.SelectNodes("td")[1].InnerText;
                        var state = row.SelectNodes("td")[2].InnerText;

                        list.Add(new
                        {
                            County = county,
                            State = state
                        });
                    }
                }

                var json = JsonConvert.SerializeObject(list);
                File.WriteAllText(@"C:\test.json", json);

                Console.WriteLine(@"Done, extracted cities and states to json file C:\test.json");
                Console.ReadLine();
            }
        }
    }
}

Это фрагмент результата. Он показывает каждый округ в США и штат, к которому он привязан.

[
  {
    "County": "Autauga County",
    "State": "Alabama"
  },
  {
    "County": "Baldwin County",
    "State": "Alabama"
  },
  {
    "County": "Barbour County",
    "State": "Alabama"
  }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...