Oracle 11.2.0.3.0 - 从存储在CLOB中的XML中提取值

时间:2014-06-12 16:08:09

标签: xml

我有一个存储在CLOB中的XML,我想提取部分XML但查询结果为null,

我尝试了这两个查询

select extract(xmltype(XML_CFDI),'/Comprobante/@sello') from cfdi where id=488679;

SELECT EXTRACTVALUE(xmltype(XML_CFDI), '/Comprobante/@sello') FROM cfdi where id=488679;

<?xml version="1.0" encoding="UTF-8" ?>
<cfdi:Comprobante sello="EQ4vvA1CDxmXSdKYPqvMoknzMs8eJZHaR1Jl7MJzmHTSChBJuuIErfTPdBcKK1MskIZVugUZ0oNTGZuN7A/DqHED5zKesxX9k8iedvn2rvS5TirhDRff88jfw7bPpP9T85kCmbODoo7bg+ygDpTOtlo20Cai+WYyNU/55FFzVAY=" noCertificado="00001000000200029932" Moneda="MXN" total="1697.08" metodoDePago="TRANSFERENCIA ELECTRÓNICA DE FONDOS" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cfdi:Emisor nombre="Corporativo de Comercioa">
<cfdi:DomicilioFiscal colonia="Colonia Centro" estado="Veracruz" pais="MEXICO" />
</cfdi:Emisor>
<cfdi:Receptor nombre="CHOCOLATES">
<cfdi:Domicilio calle="CALZADA" pais="MÉXICO" />
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto cantidad="1.000" unidad="CON" descripcion="PAQUETE-RECEPCION" importe="1463.00" />
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="234.08">
<cfdi:Traslados>
<cfdi:Traslado impuesto="IVA" tasa="16.00" importe="234.08" />
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital version="1.0"  selloCFD="EQ+WYyNU/55FFzVAY=" noCertificadoSAT="301209952" selloSAT="40uvrJykS3S2I=" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" />
</cfdi:Complemento>
</cfdi:Comprobante>

1 个答案:

答案 0 :(得分:0)

这是可以的查询。

SELECT cfdi_cpb_id, extractvalue(XMLTYPE(cfdi_xml_cfd_orig), '/cfdi:Comprobante/@sello', 'xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') Title FROM bitacora_cfdi WHERE cfdi_cpb_id=512379;