Bom dia Italo,
Eu entendi e já solicitei para o cliente fazer o download do XML pelo site da SEFAZ. Também acredito que o arquivo tenha sido alterado no meio do caminho.
O arquivo XML não foi gerado pelo meu sistema, foi recebido pelo cliente via e-mail e estou tentando carregar o arquivo utilizando o componente para importa-lo no meu sistema.
O componente desconsiderar as quebras de linhas (#13#10) na hora de carregar os itens do arquivo:
Itens := StringReplace(Itens, #$D#$A, '', [rfReplaceAll]);
Mas mesmo assim o arquivo além da quebra de linha, possui um espaço antes do igual:
<det nItem'#$D#$A' ="2">
Fazendo com que a rotina considere que não há mais itens a serem lidos, ou seja a rotina LoadFromFile não lê todos os itens, mas fica a impressão que carregou o arquivo com sucesso para o objeto NFE. Meu sistema somente percebe o problema por que faz uma validação do total x soma dos itens.
Acredito que o melhor a fazer é contar as tags <det> e caso não consiga carregar todos os itens gerar uma exceção, até por que possa ser que surja um outro problema parecido com outro carácter por exemplo.