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

Postgresql XML generation with special characters in column aliases

我在使用双引号列别名创建 xml 时遇到了一点问题。当使用双引号转换为 xml 时,我在输出中得到了 Unicode 值(例如,space 的 _x0020)。

正在执行:

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

给我:

<_x0020__x0020__x0020_>abc</_x0020__x0020__x0020_><bar>123</bar>

如何避免输出 xml Unicode 值 xml?

您不能在标签中包含 space:https://www.w3.org/TR/REC-xml/#NT-STag

Postgres 正在替换 ,以便您让文本处理器正确使用 xml。

我假设你不需要在标签中使用 spaces,这样的例子完全没问题:

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