【发布时间】:2017-06-13 21:33:51
【问题描述】:
我目前正在尝试从clob 列中提取值,但总是得到null 的结果。
我尝试了许多可能的情况,但对我来说它总是以 null 的形式返回。
附上实际的xml
<TenderOffer xmlns="http://xmlns.oracle.com/apps/otm">
<Shipment>
<ShipmentHeader/>
<SEquipment/>
<ShipmentStop/>
<ShipmentStop/>
<Location/>
<Location/>
<Release/>
<RATE_OFFERING>
<RATE_OFFERING_ROW>
<USER_CLASSIFICATION3>ZXF</USER_CLASSIFICATION3>
</RATE_OFFERING_ROW>
</RATE_OFFERING>
</Shipment>
</TenderOffer>
下面是实际的查询,
select
itc.element_name,
extractvalue(XMLTYPE(XML_BLOB), '/TenderOffer/Shipment/RATE_OFFERING/RATE_OFFERING_ROW/USER_CLASSIFICATION3/text()'),
XMLTYPE(XML_BLOB)
from i_transaction itc
where itc.i_transaction_no = 31553115
and rownum = 1
【问题讨论】:
-
验证您的代码是否存在拼写错误,我收到
abxy与您的查询:SELECT EXTRACTVALUE(XMLTYPE('<Header> <SecondHeader> <ThirdHeader> <FourthHeader> <Value1>abcd</Value1> <Value2>xyz</Value2> <Value3>abxy</Value3> </FourthHeader> </ThirdHeader> </SecondHeader> </Header>'), '/Header/SecondHeader/ThirdHeader/FourthHeader/Value3/text()') FROM dual; -
嗨,伙计,我更新了 xml 和实际查询,你能看看吗。谢谢。
-
将 XML 作为图像发布并不是非常有用,尽管从该图像中没有任何明显的拼写错误。 (如果它是 CLOB,为什么你的专栏叫
xml_blob?)。大概您的查询显示了您期望的 CLOB 值,而仅提取的值为 null?您能否将其简化为实际重现问题的更简单示例,因为您的第一个“标题”版本没有? -
将其缩减为仍然显示问题的最小示例 - 删除任何不相关/在层次结构中的节点,并隐藏您不想共享的任何数据。但请检查当您运行该缩减版本时,您仍然会看到相同的问题。
-
是的,这是一个相当重要的遗漏......即使你所说的是你的“实际 XML”。我想我应该问的。 *8-)