下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL中的XML操作函數代碼

          PostgreSQL中的XML操作函數代碼

          時間:2024-02-28 13:28作者:下載吧人氣:27

          XML內容生成部分
          SQL數據生成XML的函數。
          1. xmlcomment:生成注釋函數。
          xmlcomment(text )
          例:

          SELECT xmlcomment(‘hello’);
          xmlcomment
          ————–
          <!–hello–>

          2. xmlconcat:XML連接函數
          xmlconcat(xml [, …])
          例:
          SELECT xmlconcat(‘<abc/>’, ‘<bar>foo</bar>’);

          xmlconcat
          ———————-
          <abc/><bar>foo</bar>

          連接的XML數據中如果有多個版本聲明的話,連接后的XML只有一個版本聲明。
          例:
          SELECT xmlconcat(‘<?xml version=”1.1″?><foo/>’, ‘<?xml version=”1.1″ standalone=”no”?><bar/>’);

          xmlconcat
          ———————————–
          <?xml version=”1.1″?><foo/><bar/>

          3. xmlelement:生成XML元素函數
          xmlelement(name name [, xmlattributes( value [AS attname ] [, … ])] [ , content, … ])
          例:
          SELECT xmlelement(name foo);
          xmlelement
          ————
          <foo/>

          SELECT xmlelement(name foo, xmlattributes(‘xyz’ as bar));
          xmlelement
          ——————
          <foo bar=”xyz”/>

          SELECT xmlelement(name foo, xmlattributes(current_date as bar), ‘cont’, ‘ent’);
          xmlelement
          ————————————-
          <foo bar=”2007-01-26″>content</foo>

          如果有非法字符的話,非常字符會用 16進制的數字表示出來。
          例子:SELECT xmlelement(name “foo$bar”, xmlattributes(‘xyz’ as “a&b”));
          xmlelement
          ———————————-
          <foo_x0024_bar a_x0026_b=”xyz”/>

          4. xmlforest:生成XML FOREST函數
          xmlforest(content [AS name ] [, …])
          例:
          SELECT xmlforest(‘abc’ AS foo, 123 AS bar);
          xmlforest
          ——————————
          <foo>abc</foo><bar>123</bar>

          SELECT xmlforest(table_name, column_name)
          FROM information_schema.columns
          WHERE table_schema = ‘pg_catalog’;
          xmlforest
          ——————————————————————————————-
          <table_name>pg_authid</table_name><column_name>rolname</column_name>
          <table_name>pg_authid</table_name><column_name>rolsuper</column_name>

          5. xmlpi:生成XML處理命令函數。
          xmlpi(name target [, content ])
          例:
          SELECT xmlpi(name php, ‘echo “hello world”;’);
          xmlpi
          —————————–
          <?php echo “hello world”;?>

          6. xmlroot:修改XML值的根節點屬性函數
          xmlroot(xml , version text |no value [, standalone yes|no|no value])
          例子:SELECT xmlroot(xmlparse(document ‘<?xml version=”1.1″?><content>abc</content>’),
          version ‘1.0’, standalone yes);
          xmlroot
          —————————————-
          <?xml version=”1.0″ standalone=”yes”?>
          <content>abc</content>

          7. xmlagg:xmlagg是集約函數
          xmlagg(xml )
          例:
          CREATE TABLE test (y int, x xml);
          INSERT INTO test VALUES (1, ‘<foo>abc</foo>’);
          INSERT INTO test VALUES (2, ‘<bar/>’);
          SELECT xmlagg(x) FROM test;
          xmlagg
          ———————-
          <foo>abc</foo><bar/>

          可以用下面類型的方法改變連接順序。
          SELECT xmlagg(x) FROM (SELECT * FROM test ORDER BY y DESC) AS tab;
          xmlagg
          ———————-
          <bar/><foo>abc</foo>

          Processing XML
          為了處理XML數據,PostgreSL中提供了xpath函數。
          xpath(xpath , xml [, nsarray ])

          例:
          SELECT xpath(‘/my:a/text()’, ‘<my:a xmlns:my=”http://example.com”>test</my:a>’,
          ARRAY[ARRAY[‘my’, ‘http://example.com’]]);
          xpath
          ——–
          {test}
          (1 row)

          XML和table的映射
          以下函數可以導出XML。
          table_to_xml(tbl regclass, nulls boolean, tableforest boolean, targetns text)
          query_to_xml(query text, nulls boolean, tableforest boolean, targetns text)
          cursor_to_xml(cursor refcursor, count int, nulls boolean,
          tableforest boolean, targetns text)
          這些函數的返回值都是XML類型。

          還有以下函數。具體內容可以參看用戶手冊。
          table_to_xmlschema(tbl regclass, nulls boolean, tableforest boolean, targetns text)
          query_to_xmlschema(query text, nulls boolean, tableforest boolean, targetns text)
          cursor_to_xmlschema(cursor refcursor, nulls boolean, tableforest boolean, targetns text)
          table_to_xml_and_xmlschema(tbl regclass, nulls boolean, tableforest boolean, targetns text)
          query_to_xml_and_xmlschema(query text, nulls boolean, tableforest boolean, targetns text)
          schema_to_xml(schema name, nulls boolean, tableforest boolean, targetns text)
          schema_to_xmlschema(schema name, nulls boolean, tableforest boolean, targetns text)
          schema_to_xml_and_xmlschema(schema name, nulls boolean, tableforest boolean, targetns text)
          database_to_xml(nulls boolean, tableforest boolean, targetns text)
          database_to_xmlschema(nulls boolean, tableforest boolean, targetns text)
          database_to_xml_and_xmlschema(nulls boolean, tableforest boolean, targetns text)

          標簽[db:關鍵字]

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 另类国产精品一区二区| 日本精品视频一区二区| 风流老熟女一区二区三区| 日韩一区二区三区精品| 亚洲一区二区三区不卡在线播放| 国产一区二区三区播放| 99精品国产一区二区三区不卡 | 一区二区视频在线免费观看| 亲子乱AV视频一区二区| 无码视频一区二区三区| 少妇无码一区二区三区| 免费人人潮人人爽一区二区| 久久精品免费一区二区| 日韩精品无码一区二区三区AV| 国模极品一区二区三区| 国产成人精品日本亚洲专一区 | 国产免费一区二区三区| 国产人妖视频一区二区| 国产高清在线精品一区小说| 波多野结衣一区二区三区高清av| 午夜影院一区二区| 亚洲一区无码中文字幕乱码| 亚洲综合色自拍一区| 中文字幕在线无码一区| 天天爽夜夜爽人人爽一区二区| 成人精品一区二区三区电影| 国产精品视频一区二区猎奇| 久久久无码一区二区三区| 午夜DV内射一区二区| 精品无码人妻一区二区三区不卡| 国产日韩精品一区二区在线观看| 亚洲高清一区二区三区电影| 国产美女在线一区二区三区| 亚洲第一区二区快射影院| 一区二区三区国产精品| 日韩精品中文字幕无码一区| 久久久老熟女一区二区三区| 91久久精品无码一区二区毛片| 久久se精品一区二区| 亚洲AV成人一区二区三区AV| 国产av天堂一区二区三区|