仅输出Oracle SQL XMLElement(XMLTYPE)

Mat*_*att 1 xml sql oracle oracle-sqldeveloper

我有一个小的查询来输出XML。

码:

SELECT XMLElement("NAME", e.name)
FROM person e
Run Code Online (Sandbox Code Playgroud)

输出:

XMLELEMENT("NAME,E.NAME)
(XMLTYPE)
Run Code Online (Sandbox Code Playgroud)

我是Oracle领域XML方面的新手,为什么它不输出XML?

Ale*_*ole 9

首选项中有一个设置,使其可以在“查询结果”窗口中显示实际的XML。

转到“ SQL Developer的工具”菜单,选择“首选项”,展开“数据库”部分,然后转到“高级”部分:

在此处输入图片说明

勾选“在网格中显示XML值”,单击“确定”,然后重新运行查询。

如果设置该选项,则仍然可以通过右键单击(XMLTYPE)网格中的并选择“单记录查看...” 来查看单行的实际值,但是除非您要验证一些笨拙的大型文档。

或者,按照@WernfriedDomscheit的建议,您可以更改查询以从XMLType获取CLOB值。(包括XMLAgg(),它也返回XMLtype)。

另外,如果您以脚本(F5)而不是语句(控制输入)的形式运行查询,那么无论该设置如何,XML都会显示在“脚本输出”窗口中(因为它仅适用于网格视图)。不过,您可能需要将set long其设置为更高的值才能看到有用的数量,因为默认设置是完全不显示任何内容。