exitsNode
の組み合わせを使用できます およびextract
次のように機能します。
SELECT b.SOFT_ATTRIBUTES,
CASE
WHEN existsNode (a.soft_attributes ,'/*/'
||b.SOFT_ATTRIBUTES) = 1
THEN a.soft_attributes.extract('/*/'
||b.SOFT_ATTRIBUTES
||'/text()').getStringVal()
END value
FROM xml_analysis a,
xml_softattributes b
WHERE a.id = b.id;
*コード> 任意の子ノードに一致するワイルドカードとして使用されます。たとえば、/ PO / * / STREETは、PO要素の孫であるすべてのストリート要素に一致します。
出力:
attr1 ABC
attr2 XYZ
attr3 PQR