【问题标题】:Getting the recurring value of Y from <tax x="1" y="2"> using plsql for large XML files使用大型 XML 文件的 plsql 从 <tax x="1" y="2"> 获取 Y 的重复值
【发布时间】:2015-12-11 12:48:55
【问题描述】:

我需要做以下事情:

我将我的 XML 存储在数据类型为 xmldata 的表中。在 XML 中,我对 XML 中的每个发票行重复以下内容。

<InvoiceDetailItem invoiceLineNumber="1" quantity="1">

我需要从 XML 中的每个数量字段中获取值。

我试过了:

SELECT SUBSTR(REPLACE(REPLACE(EXTRACT(BATCH_XML,'//InvoiceDetailItem '),'<InvoiceDetailItem',''),'</InvoiceDetailItem>',''),
               INSTR(REPLACE(REPLACE(EXTRACT(BATCH_XML,'//InvoiceDetailItem '),'<InvoiceDetailItem',''),'</InvoiceDetailItem>',''),'quantity', 1, V_LCNTR)+10,
               INSTR(REPLACE(REPLACE(EXTRACT(BATCH_XML,'//InvoiceDetailItem '),'<InvoiceDetailItem',''),'</InvoiceDetailItem>',''),'UnitOfMeasure')-40) 
FROM INVOICE_INFO

其中BATCH_XML是表中xml数据类型列的名称,V_LCNTR是该字段在XML中出现的次数。

这适用于小发票,但当它们变大时我会收到错误:

ORA-19011: 字符串缓冲区太小 19011. 00000 - “字符串缓冲区太小” 原因:请求的字符串结果太大无法返回 行动:取而代之的是 lob 的结果

我看过,但所有示例似乎都处理简单的&lt; tag &gt;x&lt; tag &gt;,当我需要获取 y 的值时,我找不到任何可以帮助我获得价值的东西,比如 &lt; tag x="1" y="2" &gt;

xml 是

`<?xml version="1.0" encoding="utf-8"?>
<cXML xml:lang="en-GB" version="1.2.014" payloadID="elcom (inv  1).rdeint1b.2015.12.02.11.59.47.377.x.xlsx.xml" timestamp="2015-12-02T16:35:13-00:00">
<Header>
<From>
  <Credential domain="DUNS">
    <Identity>100000103885</Identity>
  </Credential>
</From>
<To>
  <Credential domain="NetworkID">
    <Identity></Identity>
  </Credential>
</To>
<Sender>
  <Credential domain="DUNS">
    <Identity></Identity>
    <SharedSecret></SharedSecret>
  </Credential>
  <UserAgent>CloudTrade</UserAgent>
</Sender>
</Header>
<Request>
<InvoiceDetailRequest>
  <InvoiceDetailRequestHeader invoiceID="RDEINT1b" purpose="standard" operation="new" invoiceDate="2015-12-01T00:00:00-00:00">
    <InvoiceDetailHeaderIndicator isVatRecoverable="yes" />
    <InvoiceDetailLineIndicator isTaxInLine="yes" />
    <InvoicePartner>
      <Contact role="issuerOfInvoice" addressID="830045568">
        <Name xml:lang="en-GB">BRAKES</Name>
        <PostalAddress>
          <DeliverTo></DeliverTo>
          <Street></Street>
          <Street></Street>
          <City></City>
          <State></State>
          <PostalCode></PostalCode>
          <Country isoCountryCode=""></Country>
        </PostalAddress>
        <Email></Email>
        <Phone name="DDI">
          <TelephoneNumber>
            <CountryCode isoCountryCode="" />
            <AreaOrCityCode />
            <Number></Number>
          </TelephoneNumber>
        </Phone>
      </Contact>
      <IdReference identifier="830045568" domain="vatID" />
      <IdReference identifier="830045568" domain="supplierTaxID" />
    </InvoicePartner>
    <InvoicePartner>
      <Contact role="soldTo" addressID="">
        <Name xml:lang="en-GB">South Lanarkshire Council</Name>
        <PostalAddress>
          <DeliverTo></DeliverTo>
          <Street>Almada Street</Street>
          <Street></Street>
          <City>Hamilton</City>
          <State></State>
          <PostalCode>ML30AL</PostalCode>
          <Country isoCountryCode="GBR">United Kingdom</Country>
        </PostalAddress>
        <Email></Email>
        <Phone name="DDI">
          <TelephoneNumber>
            <CountryCode isoCountryCode="GBR" />
            <AreaOrCityCode />
            <Number></Number>
          </TelephoneNumber>
        </Phone>
      </Contact>
      <IdReference identifier="" domain="vatID" />
      <IdReference identifier="" domain="supplierTaxID" />
    </InvoicePartner>
    <InvoicePartner>
      <Contact role="billTo" addressID="">
        <Name xml:lang="en-GB"></Name>
        <PostalAddress>
          <DeliverTo></DeliverTo>
          <Street></Street>
          <Street></Street>
          <City></City>
          <State></State>
          <PostalCode></PostalCode>
          <Country isoCountryCode=""></Country>
        </PostalAddress>
        <Email></Email>
        <Phone name="DDI">
          <TelephoneNumber>
            <CountryCode isoCountryCode="" />
            <AreaOrCityCode />
            <Number></Number>
          </TelephoneNumber>
        </Phone>
      </Contact>
      <IdReference identifier="" domain="vatID" />
      <IdReference identifier="" domain="supplierTaxID" />
    </InvoicePartner>
    <InvoicePartner>
      <Contact role="remitTo" addressID="">
        <Name xml:lang="en-GB"></Name>
        <PostalAddress>
          <DeliverTo></DeliverTo>
          <Street></Street>
          <Street></Street>
          <City></City>
          <State></State>
          <PostalCode></PostalCode>
          <Country isoCountryCode=""></Country>
        </PostalAddress>
        <Email></Email>
        <Phone name="DDI">
          <TelephoneNumber>
            <CountryCode isoCountryCode="" />
            <AreaOrCityCode />
            <Number></Number>
          </TelephoneNumber>
        </Phone>
      </Contact>
      <IdReference identifier="" domain="vatID" />
      <IdReference identifier="" domain="supplierTaxID" />
    </InvoicePartner>
    <Comments></Comments>
    <Extrinsic name="BuyersCodeForSupplier">100000103885</Extrinsic>
    <Extrinsic name="CostCentre"></Extrinsic>
    <Extrinsic name="SupplierBankAccountNumber"></Extrinsic>
    <Extrinsic name="SupplierIBAN"></Extrinsic>
    <Extrinsic name="ContractOrderReference"></Extrinsic>
    <Extrinsic name="DeliveryNoteReference"></Extrinsic>
    <Extrinsic name="SupplierPortalInvoiceID">elcom south lanarkshire (inv 1).bakes_161115_rdeint1b.2015.12.02.11.59.47.377.x.xlsx.pdf</Extrinsic>
  </InvoiceDetailRequestHeader>
  <InvoiceDetailOrder>
    <InvoiceDetailOrderInfo>
      <OrderReference orderID="3865122">
        <DocumentReference payloadID="" />
      </OrderReference>
      <SupplierOrderInfo orderID="" />
    </InvoiceDetailOrderInfo>
    <InvoiceDetailItem invoiceLineNumber="1" quantity="1">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">23.7300</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="1">
        <ItemID>
          <SupplierPartID>30846</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Brake Ciabatta Rolls</Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">23.73</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">23.73</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">23.73</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">23.73</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="2" quantity="2">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">14.7000</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="2">
        <ItemID>
          <SupplierPartID>30847</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Champion Steak  Kidney</Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">29.40</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">29.40</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">29.40</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">29.40</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="3" quantity="3">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">13.3700</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="3">
        <ItemID>
          <SupplierPartID>30850</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Champion Chicken </Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">40.11</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">40.11</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">40.11</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">40.11</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="4" quantity="1">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">23.7300</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="4">
        <ItemID>
          <SupplierPartID>30846</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Brake Ciabatta Rolls</Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">23.73</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">23.73</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">23.73</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">23.73</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="5" quantity="2">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">14.7000</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="5">
        <ItemID>
          <SupplierPartID>30847</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Champion Steak  Kidney</Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">29.40</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">29.40</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">29.40</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">29.40</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="6" quantity="3">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">13.3700</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="6">
        <ItemID>
          <SupplierPartID>30850</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Champion Chicken </Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">40.11</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">40.11</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">40.11</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">40.11</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="7" quantity="3">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">13.3700</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="7">
        <ItemID>
          <SupplierPartID>30850</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Champion Chicken </Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">40.11</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">40.11</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">40.11</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">40.11</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="8" quantity="3">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <UnitPrice>
        <Money currency="GBP">13.3700</Money>
      </UnitPrice>
      <InvoiceDetailItemReference lineNumber="8">
        <ItemID>
          <SupplierPartID>30850</SupplierPartID>
          <SupplierPartAuxiliaryID></SupplierPartAuxiliaryID>
        </ItemID>
        <Description xml:lang="en-GB">NON CORE Champion Chicken </Description>
      </InvoiceDetailItemReference>
      <SubtotalAmount>
        <Money currency="GBP">40.11</Money>
      </SubtotalAmount>
      <Tax>
        <Money currency="GBP">0.00</Money>
        <Description xml:lang="en-GB">Total Line Item Tax</Description>
        <TaxDetail purpose="tax" category="vat" percentageRate="0.00">
          <TaxableAmount>
            <Money currency="GBP">40.11</Money>
          </TaxableAmount>
          <TaxAmount>
            <Money currency="GBP">0.00</Money>
          </TaxAmount>
          <TaxLocation xml:lang="en-GB">GB</TaxLocation>
          <Description xml:lang="en-GB">Z</Description>
        </TaxDetail>
      </Tax>
      <GrossAmount>
        <Money currency="GBP">40.11</Money>
      </GrossAmount>
      <NetAmount>
        <Money currency="GBP">40.11</Money>
      </NetAmount>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
  </InvoiceDetailOrder>
  <InvoiceDetailSummary>
    <SubtotalAmount>
      <Money currency="GBP">266.70</Money>
    </SubtotalAmount>
    <Tax>
      <Money currency="GBP">0.00</Money>
      <Description xml:lang="en-GB">Total Tax</Description>
      <TaxDetail purpose="tax" category="vat" percentageRate="0">
        <TaxableAmount>
          <Money currency="GBP">266.70</Money>
        </TaxableAmount>
        <TaxAmount>
          <Money currency="GBP">0.00</Money>
        </TaxAmount>
        <TaxLocation xml:lang="en-GB">GB</TaxLocation>
        <Description xml:lang="en-GB">Z</Description>
      </TaxDetail>
    </Tax>
    <ShippingAmount>
      <Money currency="GBP">0.00</Money>
    </ShippingAmount>
    <GrossAmount>
      <Money currency="GBP">266.70</Money>
    </GrossAmount>
    <NetAmount>
      <Money currency="GBP">266.70</Money>
    </NetAmount>
    <DueAmount>
      <Money currency="GBP">266.70</Money>
        </DueAmount>
      </InvoiceDetailSummary>
    </InvoiceDetailRequest>
     </Request>
</cXML>`

【问题讨论】:

  • 我的 xml 存储在 xmldata 列而不是 CLOB 中
  • 我尝试使用从 CLOB 中提取 XML 数据中给出的相同格式,但出现错误 SELECT COLS.* FROM XXSLC_EINVOICE_BATCHS CROSS JOIN XMLTABLE('//InvoiceDetailItem' PASSING XMLTYPE (BATCH_XML) COLUMNS QUANTITY NUMBER PATH '@quantity') cols 我得到错误 ORA-06553: PLS-306: wrong number or types of arguments in call to 'XMLTYPE' 06553. 00000 - "PLS-%s: %s"
  • 因为 batch_xml 已经是一个 xmltype 你不应该需要通过 XMLTYPE (BATCH_XML) 将它转换成一个 XML 类型。所以你只需使用 SELECT COLS.* FROM XXSLC_EINVOICE_BATCHS CROSS JOIN XMLTABLE('//InvoiceDetailItem' PASSING BATCH_XML COLUMNS QUANTITY NUMBER PATH '@quantity') cols

标签: xml oracle plsql


【解决方案1】:

为了演示 XMLTABLE 的使用,我已经精简了你的 XML

create table invoice_info(
    batch_xml xmltype
);

insert into invoice_info values(
    xmltype('<?xml version="1.0" encoding="utf-8"?>
<cXML xml:lang="en-GB" version="1.2.014" payloadID="elcom (inv  1).rdeint1b.2015.12.02.11.59.47.377.x.xlsx.xml" timestamp="2015-12-02T16:35:13-00:00">
<Request>
<InvoiceDetailRequest>
  <InvoiceDetailOrder>
    <InvoiceDetailItem invoiceLineNumber="1" quantity="12">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="2" quantity="2">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
    <InvoiceDetailItem invoiceLineNumber="3" quantity="33">
      <UnitOfMeasure>pack</UnitOfMeasure>
      <Extrinsic name="TaxRefCode">Z</Extrinsic>
      <Extrinsic name="LinePurchaseOrderNumber"></Extrinsic>
      <Extrinsic name="QuantityOrdered"></Extrinsic>
    </InvoiceDetailItem>
  </InvoiceDetailOrder>
    </InvoiceDetailRequest>
     </Request>
</cXML>')
);

commit;

select cols.*
from invoice_info
cross join xmltable('cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailItem' passing batch_xml  /*if your column is xmltype, directly pass it. If not, convert it using xmltype(column_name)*/
    columns invoicelinenumber number path '@invoiceLineNumber',                         /*use @ to specify the attribute you want*/
    quantity number path '@quantity'
        ) cols;


INVOICELINENUMBER   QUANTITY
----------------- ----------
                1         12
                2          2
                3         33

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2018-02-03
    相关资源
    最近更新 更多