Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
oracle查询中XML文件的解析_Xml_Oracle - Fatal编程技术网

oracle查询中XML文件的解析

oracle查询中XML文件的解析,xml,oracle,Xml,Oracle,我的XML文件看起来像 <results> <data><SearchIdType>HIST_ID</SearchIdType><SearchIdValue>3849183</SearchIdValue><ErrorCd>0</ErrorCd><SearchPayDate>2014-09-29T00:00:00Z</SearchPayDate><Searc hTxTime

我的XML文件看起来像

<results>
<data><SearchIdType>HIST_ID</SearchIdType><SearchIdValue>3849183</SearchIdValue><ErrorCd>0</ErrorCd><SearchPayDate>2014-09-29T00:00:00Z</SearchPayDate><Searc
hTxTimestamp>2015-04-17T21:43:40.231Z</SearchTxTimestamp><ValidDate>2014-09-29T00:00:00Z</ValidDate><BondRuid>49223518</BondRuid><ProductClassificationType>I
ssue Type</ProductClassificationType><BondName>JPM 6.7 04/02/40</BondName><BaseCurrencyCode>USD</BaseCurrencyCode><IssueDate>2010-04-01T00:00:00Z</IssueDate>
<Rule144Indicator>N</Rule144Indicator><RegulationsIndicator>N</RegulationsIndicator><PrivatePlacementIndicator>N</PrivatePlacementIndicator><DtcEligibleIndic
ator>Y</DtcEligibleIndicator><DualCurrencyIndicator>N</DualCurrencyIndicator><SeniorRankIndicator>N</SeniorRankIndicator><JuniorRankIndicator>Y</JuniorRankIn
dicator><PerpetualMaturityIndicator>N</PerpetualMaturityIndicator><IssueAmount>60000000</IssueAmount><IssuePriceAmount>25</IssuePriceAmount><IssueOutstanding
Amount>60000000</IssueOutstandingAmount><SeriesDescription></SeriesDescription><MarketSectorCode>Pfd</MarketSectorCode><MininitialPurchaseNumber>25</Mininiti
alPurchaseNumber><MinIncrPurchaseNumber>25</MinIncrPurchaseNumber><CallableIndicator>Y</CallableIndicator><CalledDate></CalledDate><CalledPriceAmount></Calle
dPriceAmount><NextCallDate>2015-04-02T00:00:00Z</NextCallDate><NextCallPriceAmount>25</NextCallPriceAmount><NextParCallDate>2015-04-02T00:00:00Z</NextParCall
Date><MakeWholeCallIndicator>N</MakeWholeCallIndicator><SoftCallIndicator>N</SoftCallIndicator><FirstCallDate>2015-04-02T00:00:00Z</FirstCallDate><NextRefund
Date></NextRefundDate><PartialCallTypeCode></PartialCallTypeCode><PutableIndicator>N</PutableIndicator><NextPutDate></NextPutDate><NextParPutDate></NextParPu
tDate><NextPutPriceAmount></NextPutPriceAmount><FactorableIndicator>N</FactorableIndicator><NextFactorDate></NextFactorDate><PreviousReportedFactorRate>1</Pr
eviousReportedFactorRate><AnnounceDate>2010-03-25T00:00:00Z</AnnounceDate><FirstSettleDate>2010-04-01T00:00:00Z</FirstSettleDate><MaturityDate>2040-04-02T00:
00:00Z</MaturityDate><FinalMaturityDate>2040-04-02T00:00:00Z</FinalMaturityDate><BbgCalculationMaturityDate>2040-04-02T00:00:00Z</BbgCalculationMaturityDate>
</results>
第2行结束于:2015-04-17T21:43:40.231Z


如何查询以解析此类xml?

如果您正确格式化了xml,您会很快发现问题在于您遗漏了结束数据标记:

<results>
  <data>
    <SearchIdType>HIST_ID</SearchIdType>
    <SearchIdValue>3849183</SearchIdValue>
    <ErrorCd>0</ErrorCd>
    <SearchPayDate>2014-09-29T00:00:00Z</SearchPayDate>
    <SearchTxTimestamp>2015-04-17T21:43:40.231Z</SearchTxTimestamp>
    <ValidDate>2014-09-29T00:00:00Z</ValidDate>
    <BondRuid>49223518</BondRuid>
    <ProductClassificationType>Issue Type</ProductClassificationType>
    <BondName>JPM 6.7 04/02/40</BondName>
    <BaseCurrencyCode>USD</BaseCurrencyCode>
    <IssueDate>2010-04-01T00:00:00Z</IssueDate>
    <Rule144Indicator>N</Rule144Indicator>
    <RegulationsIndicator>N</RegulationsIndicator>
    <PrivatePlacementIndicator>N</PrivatePlacementIndicator>
    <DtcEligibleIndicator>Y</DtcEligibleIndicator>
    <DualCurrencyIndicator>N</DualCurrencyIndicator>
    <SeniorRankIndicator>N</SeniorRankIndicator>
    <JuniorRankIndicator>Y</JuniorRankIndicator>
    <PerpetualMaturityIndicator>N</PerpetualMaturityIndicator>
    <IssueAmount>60000000</IssueAmount>
    <IssuePriceAmount>25</IssuePriceAmount>
    <IssueOutstandingAmount>60000000</IssueOutstandingAmount>
    <SeriesDescription></SeriesDescription>
    <MarketSectorCode>Pfd</MarketSectorCode>
    <MininitialPurchaseNumber>25</MininitialPurchaseNumber>
    <MinIncrPurchaseNumber>25</MinIncrPurchaseNumber>
    <CallableIndicator>Y</CallableIndicator>
    <CalledDate></CalledDate>
    <CalledPriceAmount></CalledPriceAmount>
    <NextCallDate>2015-04-02T00:00:00Z</NextCallDate>
    <NextCallPriceAmount>25</NextCallPriceAmount>
    <NextParCallDate>2015-04-02T00:00:00Z</NextParCallDate>
    <MakeWholeCallIndicator>N</MakeWholeCallIndicator>
    <SoftCallIndicator>N</SoftCallIndicator>
    <FirstCallDate>2015-04-02T00:00:00Z</FirstCallDate>
    <NextRefundDate></NextRefundDate>
    <PartialCallTypeCode></PartialCallTypeCode>
    <PutableIndicator>N</PutableIndicator>
    <NextPutDate></NextPutDate>
    <NextParPutDate></NextParPutDate>
    <NextPutPriceAmount></NextPutPriceAmount>
    <FactorableIndicator>N</FactorableIndicator>
    <NextFactorDate></NextFactorDate>
    <PreviousReportedFactorRate>1</PreviousReportedFactorRate>
    <AnnounceDate>2010-03-25T00:00:00Z</AnnounceDate>
    <FirstSettleDate>2010-04-01T00:00:00Z</FirstSettleDate>
    <MaturityDate>2040-04-02T00:00:00Z</MaturityDate>
    <FinalMaturityDate>2040-04-02T00:00:00Z</FinalMaturityDate>
    <BbgCalculationMaturityDate>2040-04-02T00:00:00Z</BbgCalculationMaturityDate>
</results>
<results>
  <data>
    <SearchIdType>HIST_ID</SearchIdType>
    <SearchIdValue>3849183</SearchIdValue>
    <ErrorCd>0</ErrorCd>
    <SearchPayDate>2014-09-29T00:00:00Z</SearchPayDate>
    <SearchTxTimestamp>2015-04-17T21:43:40.231Z</SearchTxTimestamp>
    <ValidDate>2014-09-29T00:00:00Z</ValidDate>
    <BondRuid>49223518</BondRuid>
    <ProductClassificationType>Issue Type</ProductClassificationType>
    <BondName>JPM 6.7 04/02/40</BondName>
    <BaseCurrencyCode>USD</BaseCurrencyCode>
    <IssueDate>2010-04-01T00:00:00Z</IssueDate>
    <Rule144Indicator>N</Rule144Indicator>
    <RegulationsIndicator>N</RegulationsIndicator>
    <PrivatePlacementIndicator>N</PrivatePlacementIndicator>
    <DtcEligibleIndicator>Y</DtcEligibleIndicator>
    <DualCurrencyIndicator>N</DualCurrencyIndicator>
    <SeniorRankIndicator>N</SeniorRankIndicator>
    <JuniorRankIndicator>Y</JuniorRankIndicator>
    <PerpetualMaturityIndicator>N</PerpetualMaturityIndicator>
    <IssueAmount>60000000</IssueAmount>
    <IssuePriceAmount>25</IssuePriceAmount>
    <IssueOutstandingAmount>60000000</IssueOutstandingAmount>
    <SeriesDescription></SeriesDescription>
    <MarketSectorCode>Pfd</MarketSectorCode>
    <MininitialPurchaseNumber>25</MininitialPurchaseNumber>
    <MinIncrPurchaseNumber>25</MinIncrPurchaseNumber>
    <CallableIndicator>Y</CallableIndicator>
    <CalledDate></CalledDate>
    <CalledPriceAmount></CalledPriceAmount>
    <NextCallDate>2015-04-02T00:00:00Z</NextCallDate>
    <NextCallPriceAmount>25</NextCallPriceAmount>
    <NextParCallDate>2015-04-02T00:00:00Z</NextParCallDate>
    <MakeWholeCallIndicator>N</MakeWholeCallIndicator>
    <SoftCallIndicator>N</SoftCallIndicator>
    <FirstCallDate>2015-04-02T00:00:00Z</FirstCallDate>
    <NextRefundDate></NextRefundDate>
    <PartialCallTypeCode></PartialCallTypeCode>
    <PutableIndicator>N</PutableIndicator>
    <NextPutDate></NextPutDate>
    <NextParPutDate></NextParPutDate>
    <NextPutPriceAmount></NextPutPriceAmount>
    <FactorableIndicator>N</FactorableIndicator>
    <NextFactorDate></NextFactorDate>
    <PreviousReportedFactorRate>1</PreviousReportedFactorRate>
    <AnnounceDate>2010-03-25T00:00:00Z</AnnounceDate>
    <FirstSettleDate>2010-04-01T00:00:00Z</FirstSettleDate>
    <MaturityDate>2040-04-02T00:00:00Z</MaturityDate>
    <FinalMaturityDate>2040-04-02T00:00:00Z</FinalMaturityDate>
    <BbgCalculationMaturityDate>2040-04-02T00:00:00Z</BbgCalculationMaturityDate>
</results>
with t as (select xmltype('<results>
  <data>
    <SearchIdType>HIST_ID</SearchIdType>
    <SearchIdValue>3849183</SearchIdValue>
    <ErrorCd>0</ErrorCd>
    <SearchPayDate>2014-09-29T00:00:00Z</SearchPayDate>
    <SearchTxTimestamp>2015-04-17T21:43:40.231Z</SearchTxTimestamp>
    <ValidDate>2014-09-29T00:00:00Z</ValidDate>
    <BondRuid>49223518</BondRuid>
    <ProductClassificationType>Issue Type</ProductClassificationType>
    <BondName>JPM 6.7 04/02/40</BondName>
    <BaseCurrencyCode>USD</BaseCurrencyCode>
    <IssueDate>2010-04-01T00:00:00Z</IssueDate>
    <Rule144Indicator>N</Rule144Indicator>
    <RegulationsIndicator>N</RegulationsIndicator>
    <PrivatePlacementIndicator>N</PrivatePlacementIndicator>
    <DtcEligibleIndicator>Y</DtcEligibleIndicator>
    <DualCurrencyIndicator>N</DualCurrencyIndicator>
    <SeniorRankIndicator>N</SeniorRankIndicator>
    <JuniorRankIndicator>Y</JuniorRankIndicator>
    <PerpetualMaturityIndicator>N</PerpetualMaturityIndicator>
    <IssueAmount>60000000</IssueAmount>
    <IssuePriceAmount>25</IssuePriceAmount>
    <IssueOutstandingAmount>60000000</IssueOutstandingAmount>
    <SeriesDescription></SeriesDescription>
    <MarketSectorCode>Pfd</MarketSectorCode>
    <MininitialPurchaseNumber>25</MininitialPurchaseNumber>
    <MinIncrPurchaseNumber>25</MinIncrPurchaseNumber>
    <CallableIndicator>Y</CallableIndicator>
    <CalledDate></CalledDate>
    <CalledPriceAmount></CalledPriceAmount>
    <NextCallDate>2015-04-02T00:00:00Z</NextCallDate>
    <NextCallPriceAmount>25</NextCallPriceAmount>
    <NextParCallDate>2015-04-02T00:00:00Z</NextParCallDate>
    <MakeWholeCallIndicator>N</MakeWholeCallIndicator>
    <SoftCallIndicator>N</SoftCallIndicator>
    <FirstCallDate>2015-04-02T00:00:00Z</FirstCallDate>
    <NextRefundDate></NextRefundDate>
    <PartialCallTypeCode></PartialCallTypeCode>
    <PutableIndicator>N</PutableIndicator>
    <NextPutDate></NextPutDate>
    <NextParPutDate></NextParPutDate>
    <NextPutPriceAmount></NextPutPriceAmount>
    <FactorableIndicator>N</FactorableIndicator>
    <NextFactorDate></NextFactorDate>
    <PreviousReportedFactorRate>1</PreviousReportedFactorRate>
    <AnnounceDate>2010-03-25T00:00:00Z</AnnounceDate>
    <FirstSettleDate>2010-04-01T00:00:00Z</FirstSettleDate>
    <MaturityDate>2040-04-02T00:00:00Z</MaturityDate>
    <FinalMaturityDate>2040-04-02T00:00:00Z</FinalMaturityDate>
    <BbgCalculationMaturityDate>2040-04-02T00:00:00Z</BbgCalculationMaturityDate>
  </data>
</results>') xmlcol from dual)
select x.searchidtype,
       x.searchidvalue,
       x.errorcd
from   t,
       xmltable('/results/data'
                passing t.xmlcol
                columns SearchIdType varchar2(15) path 'SearchIdType',
                        SearchIdValue number path 'SearchIdValue',
                        ErrorCd number path 'ErrorCd') x;

SEARCHIDTYPE    SEARCHIDVALUE    ERRORCD
--------------- ------------- ----------
HIST_ID               3849183          0