XML 2.0 NF-e (xmlForest)

Este forum é destinado a perguntas relacionadas a Oracle, mas que não se enquadram nos forums acima. Aqui serão tratadas também sobre outras tecnologias da oracle, como o Workflow, BPEL, Spatial, OCS, etc.
Responder
bertosro
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 88
Registrado em: Sex, 18 Ago 2006 11:13 am
Localização: São Paulo - SP
Bertosro
MSN / TALK - roberto.fernandes@gmail.com

Caros colegas bom dia.
Estou criando a rotina de geração do XML 2.0 para NF-e e estou com um duvida técnica referente ao comando xmlForest.

Quando um xmlForest não tem nehum elemento com dados ele retorna a TAG fechada, ASSIM: </F2> gostaria de saber se alguém sabe como não retornar esta TAG fechada quando não houver conteudo dentro dela.

Veja o Exemplo Paratico:

Select que gera o XML

Selecionar tudo

   SELECT xmlElement("infNFe",xmlAttributes('2.0' as "versao"),
              xmlForest --F1
              (  
                'F1' as "numero"        
              ) as "F1" , 
              xmlForest --F2
              (  
                NULL as "numero"        
              ) as "F2" , 
              xmlForest --f3
              (  
                'F3' as "numero"        
              ) as "F3"                             
          ) as "infNFe"
     FROM DUAL
O que Retornou

Selecionar tudo

<infNFe versao="2.0">
  <F1>
    <numero>F1</numero>
  </F1>
  <F2/>
  <F3>
    <numero>F3</numero>
  </F3>
</infNFe>
Retorno Esperado

Selecionar tudo

<infNFe versao="2.0">
  <F1>
    <numero>F1</numero>
  </F1>
  <F3>
    <numero>F3</numero>
  </F3>
</infNFe>
bertosro
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 88
Registrado em: Sex, 18 Ago 2006 11:13 am
Localização: São Paulo - SP
Bertosro
MSN / TALK - roberto.fernandes@gmail.com

Retorno Oracle 9i

Selecionar tudo

<infNFe versao="2.0"> 
  <F1> 
    <numero>F1</numero> 
  </F1> 
  <F2/> 
  <F3> 
    <numero>F3</numero> 
  </F3> 
</infNFe> 
Retorno Oracle 10g
bertosro
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 88
Registrado em: Sex, 18 Ago 2006 11:13 am
Localização: São Paulo - SP
Bertosro
MSN / TALK - roberto.fernandes@gmail.com

Retorno Oracle 9i

Selecionar tudo

<infNFe versao="2.0"> 
  <F1> 
    <numero>F1</numero> 
  </F1> 
  <F2/> 
  <F3> 
    <numero>F3</numero> 
  </F3> 
</infNFe> 
Retorno Oracle 10g

Selecionar tudo

<infNFe versao="2.0"> 
  <F1> 
    <numero>F1</numero> 
  </F1> 
  <F3> 
    <numero>F3</numero> 
  </F3> 
</infNFe> 
Responder
  • Informação