Начнем с того, что любое приложение, которое часто нуждается в поиске больших XML-файлов, будет работать медленно.
Я не знаю, что находится в вашем XML-файле, но подходит ли оно для хранения в SQLбаза данных, это может быть идея.Прочитайте его один раз, поместите в базу данных, и тогда поиск будет происходить намного быстрее (конечно, с учетом правильных индексов)
Если данные не слишком велики для одновременного хранения в памяти, выможет быть в состоянии построить структуру данных в памяти, в которой можно легко найти материал.
Очень сложно дать хороший ответ, не зная немного больше о том, что это за данные, если они слишкомбольшой, чтобы сохранить в памяти и как вы идете в поиске данных.