Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 2 anos, 9 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #153831
    Francisco Moya
    Participante

      Boa tarde,

      Carreguei o XML abaixo em uma tabela, em um campo XMLTYPE, e estou escrevendo um código PL-SQL para pegar o conteúdo das TAGs e gravar em tabelas Oracle na sequencia.

      O problema é que não está retornando o conteúdo (no caso o modelo = 65). Vem vazio o resultado do Select…

      Alguém poderia por favor me ajudar?

       

      EXEMPLO DO XML (parcial…):

      <?xml version=”1.0″?>
      -<nfeProc xmlns=”http://www.portalfiscal.inf.br/nfe” versao=”4.00″>
      -<NFe xmlns=”http://www.portalfiscal.inf.br/nfe“>
      -<infNFe versao=”4.00″ Id=”NFe3322030143898400125065002000638742170xxxxxxx”>
      -<ide>
      <cUF>33</cUF>
      <cNF>70477324</cNF>
      <natOp>VENDA DE MERCADORIA CONFORME CFOP</natOp>
      <mod>65</mod>
      <serie>2</serie>
      <nNF>138842</nNF>
      <dhEmi>2022-03-03T11:58:40-03:00</dhEmi>

       

      CODIFICAÇÃO PL-SQL QUE ESTOU UTILIZANDO:

      select ExtractValue(conteudo, ‘/nfeProc/NFe/infNFe/ide/mod’,
      ‘xmlns=http://www.portalfiscal.inf.br/NFe‘)
      from  TABELA_XML;

      o campo conteúdo é XMLTYPE.

       

      #153879
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Blz ? Então, pra COMEÇO DE CONVERSA ** please ** nos diga a versão E a Edition exatas do SGBD ORACLE, isso tem TUDO A VER, já que nem todas as versões e editions possuem os mesmos recurso no que tange à XML…

        Segunda coisa, como não dá erro nenhum, eu SUPONHO FORTEMENTE que seja problema OU de XML mal-formado (talvez com tags forma de ordem, ou coisa do tipo) OU , algo muito possível, presença de caracteres que o parser de XML não reconhece/não espera, como tabs ou quebras de linha, digamos…. Este segundo ponto só podemos Palpitar se vc subir num site de compartilhamento de arquivos qualquer um exemplo CURTO mas COMPLETO do XML em questão, onde o erro Ocorra….

        Abraços,

         

        Chiappa

         

         

         

        #153880
        Avatar photoJosé Laurindo Chiappa
        Moderador

          E DOIS pontos que podem se provar CRUCIAIS aí : PRIMEIRO, vc NÃO DIZ CLARAMENTE, mas estou SUPONDO que a query está sendo executada diretamente na linguagem SQL, não dentro de um bloco PL/SQL – sendo isso, ha SIM limites na string que a linguagem SQL pode manipular, e por default é de apenas 4kb, veja se não é isso… E SEGUNDO, pelo xmlns eu DEDUZO que há namespaces envolvidos, https://asktom.oracle.com/pls/apex/asktom.search?tag=extract-an-xml-node por exemplo tem um caso onde era exigido acesso via \ …. Isto é um caso muito antigo, com certeza não deve ser relacionado com versões mais recentes do Oracle (e portanto de parser XML mais recentes) mas deve ser visto, e é POR ISSO que reputei como CRICUAL a info de versão / edition em uso…

           

          Abraços,

           

          Chiappa

           

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress