我有一个 XMLType 对象,我想将开放时间提取到表中。
<workspace>
<title>workspace1</title>
<item>
<day>1</day>
<openingTime>8:00</openingTime>
<closingTime>12:00</closingTime>
</item>
<item>
<day>1</day>
<openingTime>13:00</openingTime>
<closingTime>18:00</closingTime>
</item>
<workspace>
<workspace>
<title>workspace2</title>
<item>
<day>1</day>
<openingTime>9:00</openingTime>
<closingTime>14:00</closingTime>
</item>
<item>
<day>3</day>
<openingTime>12:00</openingTime>
<closingTime>16:00</closingTime>
</item>
<workspace>
我会使用类似的东西:
SELECT ExtractValue(Value(p),'workspace/item/day/text()') as day
,ExtractValue(Value(p),'workspace/item/openingTime/text()') as open
,ExtractValue(Value(p),'workspace/item/closingTime/text()') as close
FROM TABLE (XMLSequence(Extract(y,'workspace'))) p
WHERE ExtractValue(Value(p),'/workspace/title/text()') LIKE 'workspace1';
其中y是上面的 XMLType。但这不起作用,因为它仍然会找到多个项目节点。我需要提取标题 workspace2 的所有元素值(值 1、9:00、14:00、3、12:00、16:00)。如果我不仅可以提取值,而且可以提取 XMLType 的整个部分,那将会有所帮助。有任何想法吗?
谢谢, 迈克尔