将 XML 类型序列化为文本时,PostgreSQL 不包含 XML 声明,不是吗?
SELECT xmlserialize (DOCUMENT (
SELECT xmlroot(
xmlelement(name root,
xmlelement(name value, 'test')
), version '1.0')
) AS text);
返回:
<根><值>测试
我想要(并且期望):
我当然可以:
SELECT '<?xml version="1.0"?> ' || xmlserialize (CONTENT (...
但是包含 xmlroot 有什么意义呢?
SELECT xmlserialize (DOCUMENT (
SELECT xmlroot(
xmlelement(name root,
xmlelement(name value, 'test')
), version '1.0')
) AS text);
returns:
<root><value>test</value></root>
I want (and expected):
<?xml version='1.0'?><root><value>test</value></root>
Of course I could go:
SELECT '<?xml version="1.0"?> ' || xmlserialize (CONTENT (...
but then what is the point of including xmlroot?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
(我在 Windows XP 上尝试了 v8.3.7、v8.4.4 和 v9.0.0)
如果
xmlroot
的standalone
选项与值一起使用,则它包括 xml 声明是
或否
:(I experimented with v8.3.7, v8.4.4 & v9.0.0 on Windows XP)
It includes the xml declaration if the
standalone
option ofxmlroot
is used with a value ofyes
orno
: