В вашем подходе нет ничего плохого в функциональном отношении, но что произойдет, когда клиенту будет добавлено больше информации?
Например, у вас может быть элемент «location»:
<customer>
<id>someid</id>
<name>somename</name>
<location>somename</location>
</customer>
Также рассмотрите сценарий, в котором вы перемещаете свои данные в базу данных - вам придется переписать много кода.
Обычно считается плохой практикой работать напрямую с объектами XML в течение всего времени работы вашего приложения. «Правильный» подход - сначала загрузить данные XML в объектно-ориентированные объекты.
Вы должны создать класс с именем Customer
и использовать List<Customer> customers =new List<Customer>()
для хранения объектов. Затем вы можете использовать customers.Find(x=>x.Id == myId)
, чтобы найти ваши объекты.
Помните, что если вы храните ваши объекты в памяти, ваше приложение будет использовать не менее 47 МБ ОЗУ. Это может потенциально расти, поскольку ваш бизнес получает больше клиентов. Возможно, вам стоит посмотреть на ленивую загрузку ваших клиентов (извлекать их из XML-файла, когда они требуются) - это будет медленнее, так что это действительно зависит от ваших требований к пропускной способности и объему.