在Oracle中,您可以使用XMLElement()函数创建元素,如:
XMLElement('name', 'John')
但是如何在特定命名空间中创建元素?例如,如何创建以下元素:
<my:name xmlns:my="http://www.example.com/my">John</my:name>
答案 0 :(得分:9)
您还可以使用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 :(得分:1)
而不是XMLElement()
使用:
XMLType('<my:name xmlns:my="http://www.example.com/my">John</my:name>')
是的,就这么简单。