Ways to get the List of Countries and Cities

  • Thread starter Thread starter David Freeman
  • Start date Start date
D

David Freeman

Hi There!

I'm trying to create a User Registration page in ASP.NET and wondering what
is the best way to get the list of up-to-date Countries and Cities? Are
there any Web Services on the web that I can use to retrieve such
information? If not, what are the options?

Please, any suggestions and pointers will be very much appreciated!

Dave
 
Just looking at the article "Our control will populate the country names at
design time" -- not sure if I would use such an app which is a maintenance
nightmare. From the article I suggsted, once could just scrape the countries
and cities, and create some data source.
 
heh, heh...

Hi, Manohar.

re:
not sure if I would use such an app
which is a maintenance nightmare.

Why would you think it's "a maintenace nightmare" ?
How many countries are created every year ?

re:
Our control will populate the country names at design time

Yup, and then it runs as a compiled assembly, in memory.

You need to change something ? Add a country/city ?
Change the source, recomplie, and you're good to go.

No big deal.

re:
once could just scrape the countries
and cities, and create some data source.

Easier said than done, and you're still relying on changes
which happen at some site whose html format might change,
requiring a re-coding of the scrape.

I think I'd rather modify the source for the control
I suggested ( complete source is included ) to add
the capital cities, and then use *that*.

Updates could, still, be made by checking that list
you suggest, but relying on a control made by yourself
is bound to provide better results than relying on a page
scrape which might change at an inconvenient time,
or which might be unavailable for whatever reason.



Juan T. Llibre
ASP.NET MVP
http://asp.net.do/foros/
Foros de ASP.NET en Español
Ven, y hablemos de ASP.NET...
======================
 
Why would you think it's "a maintenace nightmare" ?

Nothing against the code, but anything that is hard-coded is maintenance
risk -- if not in the immediate future, but soon thereafter. Plus, it is
adds to the inflexibility. Consider that you want to share the data with
another app, but you want to add new attributes like population, area, etc.
Doing so would require not only changing the data, but also changing the
app, with recompile. That would also mean the clients of the app need to
change, or you have to create a new version to cater to the new requirement.
Easier said than done, and you're still relying on changes
which happen at some site whose html format might change,
requiring a re-coding of the scrape.

I didn't mean to use the site itself a data source, just that there was a
list of countries and cities, and the person could scrape that list to
create a data souce -- XML file, database, etc.
 
re:
anything that is hard-coded is maintenance risk

And, presumably, something which isn't hard-coded,
but -instead- relies on some other method isn't ?

re:
you want to add new attributes like population, area

That wan't the problem posed, though.

This is a simple country/city dropdown list,
which you can reuse in a number of apps, Manohar.

Tell me something, regarding :
I didn't mean to use the site itself a data source,
just that there was a list of countries and cities,
and the person could scrape that list to create a
data source -- XML file, database, etc.

Wouldn't maintaining *that* data source
become a "maintenance nightmare", too ?

A list is a list is a list.

A simple country/city list will need updating at some point,
whenever a new country or a new city is added, and using
an XML file or a table in a database as a data source only
adds an unnecesary level of complexity to a simple dropdown,
wouldn't you say ?

If every time you need to populate a simple dropdown,
you need to hit a database or an XML file, that's
bound to perform slower than hitting an assembly which
will be initialized the first time, but will run from memory
from that point on.

It's no big thing, but I like the idea of
a dropdown initialized from an assembly.




Juan T. Llibre
ASP.NET MVP
http://asp.net.do/foros/
Foros de ASP.NET en Español
Ven, y hablemos de ASP.NET...
======================
 
Back
Top