在列别名中带有特殊字符的Postgresql XML生成

问题描述

我在创建带有双引号列别名的xml时遇到了一些问题。使用双引号转换为xml时,我在输出中得到了Unicode值(例如_x0020表示空格)。

执行此操作

Coordinator

给我:

SELECT xmlforest('abc' AS "   ",123 AS bar);

如何避免在输出xml中使用xml Unicode值?

解决方法

标记https://www.w3.org/TR/REC-xml/#NT-STag

中不能有空格

Postgres正在替换 ,以使文本处理器正确使用此类xml。

我假设您在标签中不需要空格,这样的示例可以很好地工作:

# SELECT xmlforest('abc' AS "Tag",123 AS bar);
          xmlforest           
------------------------------
 <Tag>abc</Tag><bar>123</bar>