С этим текстовым файлом вы можете использовать jQuery и сделать:
$.get('WeatherLocationDatabase.txt', function(text){
var markup = "",
i, item,
data = text.split(/CityName="(.+)"\sLocation="(.*)"\sCountry="(.*)"\s?/mg).filter(function(e){return e});
for( i = 0; item = data[i]; i+=3){
// no need to specify value if equals to inner text.
markup += "<option>" + item + "</option>";
// you could break if data[i+1] or data[i+2] changes
}
$("#someSelectID").append(markup);
});
Объяснено var data
: я разделил RegEx, чтобы соответствовать значениям CityName, Location и Country, а затем удаляю созданные индексы пустых строкпо разделению RegEx с фильтром взломать.В этот момент данные должны выглядеть следующим образом:
["Aachen, DE", "EUR|DE|GM011|AACHEN", "Germany", "Aalborg, DK", "EUR|DK|DA007|AALBORG", "Denmark", "Aalesund, NO", "EUR|NO|NO007|AALESUND", "Norway", "Aare, SE", "EUR|SE|SW006|AARE", "Sweden", "Aarhus, DK", "EUR|DK|DA001|AARHUS", "Denmark", "Aba, NG", "AFR|NG|NI008|ABA", "Nigeria", "Abadan, IR", "MEA|IR|IR016|ABADAN", "Iran", "Abakan, RU", "ASI|RU|RS033|ABAKAN", "Russia", "Abbotsford, CA", "NAM|CA|BC|ABBOTSFORD", "Canada", "Abeokuta, NG", "AFR|NG|NI000|ABEOKUTA", "Nigeria", "Aberdeen, UK", "EUR|UK|UK002|ABERDEEN", "United Kingdom", "Abidjan, CI", "AFR|CI|IV002|ABIDJAN", "Ivory Coast"]
Что в основном: [CityName1, Location1, Country1, CityName2, Location2, Country2, ..., CityNameN, LocationN, CountryN]
, где N - номер строки.
Затем я повторяю каждые 3 элемента (потому что есть 3 свойства)
Надеюсь, это поможет.