提取 xml 文件的内容

extract contents of xml file

我有一个来自 crmod 的 xml 文件(按需使用 oracle crm),我想提取记录数。 (即 17680)通过查询进入 table。我可以提取其他标签里面的xml接受记录计数。谁能指出正确的方向

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

亲切的问候

里昂

您应该使用 @ 来指定属性。

使用 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;