Я бы делал так: сводил бы оба файла к DOM-модели и дальше действовал бы по схеме "сравнение двух списков".
Вплоть до того, что из нод file организовать хэш с ключем @link и заниматься сравнениями на уровне класса hash. Кстати, не такая уж идиотская затея: на каждый xml приходится select, потом for и хэш готов.