Ну, не видя ни xml, ни таблицы, сложно сказать что-то конкретное. 
Хотя общий принцип примерно такой: 
1. Парсим xml и грузим все во временную таблицу/таблицы. Если таблиц больше одной и там есть связи, то лучше динамически создавать их в БД. Если только одна таблица, то можно создать в памяти, например, с использованием TClientDataSet. 
2а. Если мы знаем какие проверки можно сделать, то вычисляем для каждой записи набор флагов о найденых ошибках. 
2б. Показываем данные пользователю и даем ему их редактировать (все зависит от того какие данные и какое редактирование нужно). Если у нас есть флаги ошибок, то подкрашиваем проблемные записи. 
3. После того, как пользователь все поправил или сказал, что "и так сойдет", переносим данные из временных таблиц в постоянные. 
		
	
		
		
		
		
		
	
		
		
	
	
	 |