0
我想查詢一個XMLType條件返回。
我的XML查詢:oracle XMLTABLE條件返回
with tab as (
select XMLType(
'<Obj name="Job" id="1">
<Steps>
<StepType2>
<StepOptions>
<Attribute name="attr1" value="val1"/>
<Attribute name="attr2" value="val2"/>
<Attribute name="attr3" value="val3"/>
</StepOptions>
</StepType2>
<StepType1 type="flow" name="flowval" id="103"/>
<StepType1 type="data" name="dataval" id="104"/>
<StepType2>
<StepOptions>
<Attribute name="attr1" value="val5"/>
<Attribute name="attr2" value="val6"/>
</StepOptions>
</StepType2>
</Steps>
</Obj>') as xmldata
from dual
)
select x.*
from tab,
XMLTable('for $i in $XmlData//*
return $i'
PASSING xmldata as "XmlData"
COLUMNS node VARCHAR2(2000) PATH 'name()',
name VARCHAR2(2000) PATH '@name',
id VARCHAR2(2000) PATH '@id'
) x
我做XML DB的Oracle,XPATH等等太多的搜索,但我找不到任何想法如何實現我的目標。
- 顯示所有步驟的元素與他們的根的父母,在這種情況下根本是「的OBJ」
- 如果節點名稱=「StepType2」,那麼
爲ATTR_NAME領域獲得價值如果僅僅是name =爲ATTR_VAL字段獲取值 'attR1位' 和
如果僅僅是name = 'attR2位' - 如果節點名稱= 'StepType1',那麼它的很多SIMP樂ATTR_NAME = @type, ATTR_VAL = @名稱和ATTR_ID = @ ID
我不知道,即使它是可能的,但任何主意,開始將是巨大的?
太感謝你了.. – Deniz