Я пытаюсь извлечь значение из элемента xml, расположенного в столбце XMLTYPE в таблице Oracle. Элемент xml, который я пытаюсь извлечь, имеет родителя, для которого определено пространство имен.
XML выглядит примерно так:
<a>
<b xmlns="urn:www.someSite.com/myModel">
<c>my value</c>
</b>
</a>
Если я хочу извлечь содержимое элемента "a", его контекст возвращается правильно:
SELECT Extract(myColumn, '/a') FROM myTable;
Но для возврата содержимого элемента "c" мне не удалось найти какую-либо версию для работы. Следующие инструкции не работают:
SELECT Extract(myColumn, '/a/b/c') FROM myTable;
SELECT Extract(myColumn, '/a/b/c', 'xmlns="urn:www.someSite.com/myModel"') FROM myTable;
SELECT Extract(myColumn, '/a/b/c', 'urn:www.someSite.com/myModel') FROM myTable;
Кто-нибудь может мне помочь с оператором извлечения, который будет работать в этом случае?