Очень простой подход:
- Разобрать файл. Вы можете извлечь каждое сообщение XML и обработать его как один полный документ.
- На основе параметров запросить xml и определить, соответствует ли он.
Это решение не самое лучшее, я бы поспорил, что оно будет работать плохо, поскольку вы будете загружать довольно много, хотя об этом будет знать только тестирование. Этот подход имеет преимущество в том, что файл не обязательно должен быть действительным Xml. Поэтому, если вы анализируете файл, в который вы пишете, вы сможете использовать этот метод. (Я предполагаю, что ваш регистратор просто добавляет xml в файл, а не рассматривает это как один большой домен).
Если файл тоже не записывается, и в зависимости от размера вы можете поместить содержимое файла в узел Xml. Опять же, это предполагает, что единственное, что записано в файл - это Xml. Если вы регистрируете дополнительную информацию, вам нужно будет выбрать первое решение.
Что касается синтаксического анализа Xml, у вас есть различные варианты, такие как Linq to Xml или XPath.