Chegamos ao ponto.... Primeiro concordo com vc q o código q eu propus não funcionaria com o codigo atual do ACBr.. Mais não posso corrigir um erro com outro erro? A lógica do código q enviei esta certa, Leitor.rCampo deveria ser capaz de procurar primeiro elementos do nó atual para depois procura em nós filhos... o código atual continua errado ou melhor sujeito a falhas, primeiro o xml pode chegar ao TLeitor sem esta na sequencia(imagino q o SEFAZ procura por tag e não por sequencias), digamos q código esteja na sequencia, e se ele não foi gerado pelo ACBr, foi carregado de uma arquivo externo, e se o mesmo estiver com quebras de linhas ou espaçamentos entre tags? isso nao funcinaria MDFe.rodo.veicTracao.UF := copy(Leitor.Grupo, (Pos('</tpCar>', Leitor.Grupo)+12), 2)?
É simples destacar um erro sem apresentar uma possível solução, pra mim neste caso não é necessário querer reinventar a roda, o TLeitor do ACBr deveria internamente usar algum lib para leitura XML! seria até mais rapido pois com uma lib para esse fim tudo estaria em nó elemento e atributo?
Por hora pra mim q carrega o xml(xml valido) gerado em outro lugar, é remover toda quebra de linha e espaçamentos e manter a sequencia do manual!!!