Oracle: как создать элемент в определенном пространстве имен с помощью XMLElement () - PullRequest
1 голос
/ 13 января 2009

В Oracle вы можете использовать функцию XMLElement () для создания элемента, например:

XMLElement('name', 'John')

Но как создать элемент в определенном пространстве имен? Например, как создать следующий элемент:

<my:name xmlns:my="http://www.example.com/my">John</my:name>

Ответы [ 2 ]

9 голосов
/ 21 февраля 2009

Вы также можете использовать XMLAttribute:

select xmlelement("my:name",
        xmlattributes('http://www.example.com/my' as "xmlns:my"),
        'John'
       )
from dual

Вернется:

<my:name xmlns:my="http://www.example.com/my">John</my:name>

Вы также можете проверить, что Oracle распознает это как пространство имен (кроме того, что вы не получаете префикс пространства имен "my" не объявлен ошибка):

select xmlelement("my:name",
        xmlattributes('http://www.example.com/my' as "xmlns:my"),
        'John'
       ).getnamespace()
from dual

Вернется:

http://www.example.com/my
1 голос
/ 13 января 2009

Вместо XMLElement() используйте:

XMLType('<my:name xmlns:my="http://www.example.com/my">John</my:name>')

Да, это так просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...