Я бы создал свой собственный формат файла, используя, например, разделитель между полями, по одной строке для каждой записи.Таким образом, вы можете читать файл построчно, чтобы заполнить структуру данных следующими преимуществами:
- нет необходимости извлекать весь файл в память
- нет затрат на XML (вдля настольного приложения это может не быть проблемой, но в контексте телефона текстовый файл размером 5 МБ может стать немного меньше)
Тупой пример:
New York City; 12345
Berlin; 25635
...
РЕДАКТИРОВАТЬ: , учитывая, что объем не так велик, вам не нужна никакая форма индексации или загрузки по требованию.Я бы сохранил города, как указано выше - по одной записи на строку, - загрузил их в список и использовал LINQ, чтобы выбрать нужные элементы.Это, вероятно, будет быстрым и сделает ваше приложение очень отзывчивым.
В этом случае, на мой взгляд, XML не лучший инструмент для работы.Ваша структура очень проста, и хранение в XML, вероятно, удвоит размер файла, что является проблемой для мобильного устройства, а также замедлит синтаксический анализ, что также является проблемой в этом случае.