2016-05-13 124 views
-1

我有一個來自crmod(oracle crm on demand)的xml文件,並且想提取記錄數。 (即17680)通過查詢到表中。我可以提取XML中的其他標籤接受記錄計數。能在正確的方向有人點提取xml文件的內容

<ListOfAllotmentUsage xmlns="urn:/crmondemand/xml/AllotmentUsage/Data" recordcount="17680" lastpage="false"> 

親切的問候

萊昂

回答

0

您應該使用@指定的屬性。

使用XMLTABLE,

SELECT * 
FROM xmltable(
    xmlnamespaces(DEFAULT 'urn:/crmondemand/xml/AllotmentUsage/Data'),'ListOfAllotmentUsage' 
    passing xmltype('<ListOfAllotmentUsage xmlns="urn:/crmondemand/xml/AllotmentUsage/Data" recordcount="17680" lastpage="false"></ListOfAllotmentUsage>') 
    columns 
    rec_count NUMBER path '@recordcount' 
); 

使用extractValue一起,

SELECT extractvalue(
    xmltype('<ListOfAllotmentUsage xmlns="urn:/crmondemand/xml/AllotmentUsage/Data" recordcount="17680" lastpage="false"></ListOfAllotmentUsage>'), 
    'ListOfAllotmentUsage/@recordcount', 
    'xmlns="urn:/crmondemand/xml/AllotmentUsage/Data"' 
) 
FROM dual;