Смысл xml в том что если тег даже один и тот же но в разных иерархиях, то он разным считается.
То же самое что реквизит регион в Контрагента и реквизит регион у Банка. И мы бы считали сколько реквизитов "Регион" упоминается в каком то списке Банки+контрагенты. Но это ведь разные реквизиты. Они даже типа могут быть разного.
Чтение XML есть потоковая весчь.
В этом то ее и смысл, ибо XML избыточен по своей сути и никаких 2 гектар памяти не хватит засосать обычную выгрузку обмена за пару суток между базами (к примеру).
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший