这是我的XML内容存储,与列名称相同,#34; Xml_Column"在表格中" TEST_TABLE"并且列的数据类型是clob。
<ns0:TEST_EVENTS xmlns:ns0="http://TEST.APPLICATION.ABC.Schemas.XML_Target_TESTEvents">
<compname>Sherlock</compname>
<Add>Homes</Add>
<Employee>
<firstname>Jim</firstname>
<lastname>Moriarty</lastname>
<age>52</age>
<email>jim@sh.com</email>
</Employee>
</ns0:TEST_EVENTS>
我的要求是从此列中获取存储和显示我的xml内容的名字和姓氏。任何帮助
答案 0 :(得分:0)
使用EXTRACTVALUE,这是一种最简单的方法:https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions052.htm
为了优化,你应该根据你的clob进行构造XMLType实例的内部查询;在外部查询中使用EXTRACTVALUE来选择你想要的每个值。
答案 1 :(得分:0)
例如:
SELECT extractValue(OBJECT_VALUE, '/firstname'),
extractValue(OBJECT_VALUE, '/lastname')
FROM TEST_TABLE;
所有名字和姓氏:
SELECT XMLQuery('for $d in /Employee
return ($d/firstname/text(),$d/lastname/text())
PASSING OBJECT_VALUE
RETURNING CONTENT) FROM TEST_TABLE;