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

          軟件下載吧

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

          PostgreSQL中的XML操作函數代碼

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

          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:關鍵字]

          相關下載

          查看所有評論+

          網友評論

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

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 日本一区二区三区不卡视频中文字幕| 欧美激情一区二区三区成人| 亚洲AV日韩综合一区尤物| 亚洲av日韩综合一区二区三区| 日本强伦姧人妻一区二区| 亚洲狠狠久久综合一区77777 | 日产亚洲一区二区三区| 久久精品无码一区二区app| 无码少妇A片一区二区三区| 中文字幕一区二区三区久久网站 | AV天堂午夜精品一区| 欧洲精品一区二区三区| 精品国产一区二区三区无码| 久久精品一区二区三区资源网| 精品一区二区三区视频| 国产成人免费一区二区三区| 亚洲av无一区二区三区| 中字幕一区二区三区乱码| 亚洲AV无码一区二区三区人| 无码人妻精品一区二区三区99仓本| 免费萌白酱国产一区二区三区| chinese国产一区二区| 一区二区免费电影| 国产精品小黄鸭一区二区三区| 精品中文字幕一区在线| 久久久久国产一区二区| 一区二区三区在线看| 精品成人av一区二区三区| 亚洲中文字幕丝袜制服一区 | 好爽毛片一区二区三区四| 久久无码精品一区二区三区| 亚洲高清成人一区二区三区| 国产另类ts人妖一区二区三区 | 国产免费私拍一区二区三区| 国产高清视频一区三区| 欧美日韩一区二区成人午夜电影 | 老熟女五十路乱子交尾中出一区| 国产伦精品一区二区三区在线观看 | 亚洲午夜精品一区二区麻豆| 久久亚洲AV午夜福利精品一区| 学生妹亚洲一区二区|