Ir para conteúdo
  • Cadastre-se

dev botao

Pegar parte da string


  • Este tópico foi criado há 2057 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia, estou querendo capturar apenas uma parte do texto abaixo, mas infelizmente existem mais de dois campos como referência

 

<retConsReciNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">
    <tpAmb>2</tpAmb>
    <verAplic>NFEPE_H_20.01.03.167</verAplic>
    <nRec>261180001088199</nRec>
    <cStat>104</cStat>
    <xMotivo>Lote processado</xMotivo>
    <cUF>26</cUF><dhRecbto>2018-08-23T15:23:13-03:00</dhRecbto>
    <protNFe versao="4.00"><infProt Id="NFe1"><tpAmb>2</tpAmb>
            <verAplic>NFEPE_H_20.01.03.167</verAplic>
            <chNFe>26180829187557000165550010000000201000000206</chNFe>
            <dhRecbto>2018-08-23T15:23:13-03:00</dhRecbto><cStat>204</cStat>
            <xMotivo>Rejeição: Duplicidade de NF-e [nRec: 261180001081986]</xMotivo>
        </infProt></protNFe></retConsReciNFe>

 

Estou pegando entre xMotivo e /xMotivo, mas pega apenas a primeira linha e estou precisando da segunda linha que contém essa informação que seria  "Rejeição: Duplicidade de NF-e [nRec: 261180001081986]" alguém sabe como posso fazer?


 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Como você está fazendo atualmente?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Atualmente uso assim

 

function TfrmExemplo.obterNroResultado(const aXML: XMLString; aTag,
  aEndTag: string): string;
var
  _Posini, _Posfim  : integer;
Begin
  Result := '';
  _Posini:= Pos(aTag,aXML);
  _Posfim:= Pos(aEndTag,aXML);
  if  ( _Posini > 0 ) then                                                
    begin
      inc(_PosIni, Length(aTag));
      Result:=Copy(aXML,_Posini+1,(_PosFim-_PosIni)-1);                   
    end;
end;

obterNroResultado(Memo2.text, '<xMotivo','</xMotivo');

 

mas infelizmente só traz o primeiro resultado e o que preciso é o segundo

Link para o comentário
Compartilhar em outros sites

  • Consultores

Basta você refazer a pesquisa numa substring começando a partir da posição final. Consegue fazer isso?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2057 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...