代码之家  ›  专栏  ›  技术社区  ›  markmnl

当将XML类型序列化为文本时,PostgreSQL不包含XML声明,应该不包括吗?

  •  3
  • markmnl  · 技术社区  · 13 年前
    SELECT xmlserialize (DOCUMENT (
      SELECT xmlroot(
        xmlelement(name root, 
          xmlelement(name value, 'test')
        ), version '1.0')
      ) AS text);
    

    返回:

    <根><值>测试</value></root>

    我想要(并且期望):

    <?XML版本='1.0'?><ROOT><VALUE>测试</VALUE></ROOT>

    我当然可以去:

    SELECT '<?xml version="1.0"?> ' || xmlserialize (CONTENT (...
    

    那么,包含xmlroot有什么意义呢?

    1 回复  |  直到 13 年前
        1
  •  5
  •   Stephen Denne    13 年前

    (我在Windows XP上试用了V8.3.7、V8.4.4和V9.0.0)

    它包含XML声明,如果 standalone 选择 xmlroot 与值一起使用 yes no :

    SELECT xmlserialize (DOCUMENT (
      SELECT xmlroot(
        xmlelement(name root, 
          xmlelement(name value, 'test')
        ), version '1.0', standalone yes)
      ) AS text);