Leitura xml advpl

Boa tarde, o seguinte código, Len(oXml:_nfeProc:_NFe:_InfNfe:_DET) != NIL, se a ocorrência do _det no xml for 1 então o sistema mostra um error log, argument error in function Len(), mas quando o xml possui mais de uma ocorrência do _det não da erro. O que pode ser?

Boa noite Miriam, coloque por favor o XML e seu POC para verificarmos o porque de tal situação. Como teste, você já pode efetuar o ConOut do ValType de oXml:_nfeProc:_NFe:_InfNfe:_DET, verificando quais tipos que serão impressos.

Faz uma validação:

if type('oXml:_nfeProc:_NFe:_InfNfe:_DET') != 'U'

[...] Teu bloco

Len(oXml:_nfeProc:_NFe:_InfNfe:_DET) != NIL

[...]

endif

Obrigada!!! A validação resolveu.

Na verdade não funcionou tive que buscar outra validação utilizei a função XmlNode2Arr

Boa tarde! Estou com a mesma situação aqui… Quando tem apenas um item, retorna como objeto e não como array.

Boa tarde! Estou passando pelo mesmo problema! Vou usar sua sugestão do XmlNode2Arr, mas tem problema nessa classe…