xmlserialize() 是一个用于从 xml 数据生成字符字符串值的系统函数。
xmlserialize() 于 PostgreSQL 8.3 中添加。
用法
PostgreSQL 16 及更高版本
XMLSERIALIZE ( { DOCUMENT | CONTENT } value AS type [ [ NO ] INDENT ] )
PostgreSQL 15 及更早版本
XMLSERIALIZE ( { DOCUMENT | CONTENT } value AS type )
type 参数可以是以下之一:
character/charcharacter varying/varchartext
请注意,xmlserialize() 是一个 SQL 标准函数,用于
变更历史
- PostgreSQL 16
- 支持
[NO] INDENT选项(提交 483bdb2a)
- 支持
- PostgreSQL 8.3
- 添加(提交 8c1de5fb)
示例
xmlserialize() 的基本用法示例
postgres=# SELECT xmlserialize(
DOCUMENT $$<foo><bar><baz boo="1">hogehoge</baz></bar></foo>$$
AS TEXT
);
xmlserialize
---------------------------------------------------
<foo><bar><baz boo="1">hogehoge</baz></bar></foo>
(1 row)
使用 INDENT 选项(PostgreSQL 16 及更高版本)
postgres=# SELECT xmlserialize(
DOCUMENT $$<foo><bar><baz boo="1">hogehoge</baz></bar></foo>$$
AS TEXT INDENT
);
xmlserialize
---------------------------------
<foo> +
<bar> +
<baz boo="1">hogehoge</baz>+
</bar> +
</foo> +
(1 row)
参考资料
- PostgreSQL 文档: 创建 XML 值
另请参阅
xmlparse()
