首页 > 解决方案 > 我如何只能从 XML 中获取一个 IBAN

问题描述

<DatiPagamento>
  <CondizioniPagamento>Jan</CondizioniPagamento>
  <DettaglioPagamento>
    <ModalitaPagamento>PAS</ModalitaPagamento>
    <DataScadenzaPagamento>2021-09-14</DataScadenzaPagamento>
    <ImportoPagamento>3211.43</ImportoPagamento>
    <IstitutoFinanziario>Ana</IstitutoFinanziario>
    <IBAN>R083BCR0305182345000032342</IBAN
  </DettaglioPagamento>
  <DettaglioPagamento>
    <ModalitaPagamento>PAS</ModalitaPagamento>
    <DataScadenzaPagamento>2021-11-30</DataScadenzaPagamento>
    <ImportoPagamento>1222.57</ImportoPagamento>
    <IstitutoFinanziario>Ana</IstitutoFinanziario>
    <IBAN>R083BCR0305182345000032342</IBAN>
  </DettaglioPagamento>
</DatiPagamento>


SELECT substr(x.path_name, INSTR(x.path_name, '/', -1) + 1) file_name ,
   xml_table_INFO.*
  FROM XXAP_INT104_XML_ROOT_CLOB x,
   XMLTABLE('*:FatturaElettronica/FatturaElettronicaHeader' PASSING
            xmltype(x.xmldata)
            --Header Columns
            COLUMNS --CedentePrestatore - DatiAnagrafici
            "CP_IdPaese" VARCHAR2(100) PATH
            './CedentePrestatore/DatiAnagrafici/IdFiscaleIVA/IdPaese',
            "CP_IdCodice" VARCHAR2(100) PATH
            './CedentePrestatore/DatiAnagrafici/IdFiscaleIVA/IdCodice',
            --DatiGenerali
            "GL_TipoDocumento" VARCHAR2(100) PATH
            './../FatturaElettronicaBody/DatiGenerali/DatiGeneraliDocumento/TipoDocumento',
            "GL_Divisa" VARCHAR2(100) PATH
            './../FatturaElettronicaBody/DatiGenerali/DatiGeneraliDocumento/Divisa',
            "GL_Data" VARCHAR2(100) PATH
            './../FatturaElettronicaBody/DatiGenerali/DatiGeneraliDocumento/Data',
            "GL_Numero" VARCHAR2(100) PATH
            './../FatturaElettronicaBody/DatiGenerali/DatiGeneraliDocumento/Numero',
            "GL_ImportoTotaleDocumento" VARCHAR2(100) PATH              
'./../FatturaElettronicaBody/DatiGenerali/DatiGeneraliDocumento/ImportoTotaleDocumento',
            --DatiPagamento - DettaglioPagamento
            "IBAN" VARCHAR2(100) PATH
            './../FatturaElettronicaBody/DatiPagamento/DettaglioPagamento/IBAN',
            "GiorniTerminiPagamento" NUMBER PATH              
'./../FatturaElettronicaBody/DatiPagamento/DettaglioPagamento/GiorniTerminiPagamento') 
xml_table_INFO;

我不知道如何才能只取 IBAN 的第一个值,因为当我运行查询时出现错误,因为 IBAN 值是重复的。

我该如何进行?

标签: sqlxmloraclexml-parsing

解决方案


推荐阅读