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

          軟件下載吧

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

          PostgreSQL中的XML操作函數代碼

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

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

          相關下載

          查看所有評論+

          網友評論

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

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 日本在线视频一区二区| 亚洲色欲一区二区三区在线观看| 精品人妻无码一区二区三区蜜桃一| 无码毛片一区二区三区中文字幕 | 久久国产三级无码一区二区| 91视频一区二区三区| 99精品国产一区二区三区| 精品国产福利在线观看一区 | 日本亚洲国产一区二区三区| 国产成人综合亚洲一区| 丰满爆乳无码一区二区三区| 亚洲一区二区三区免费在线观看| 久久中文字幕一区二区| 中文字幕无线码一区| 亚洲日韩国产一区二区三区| 相泽南亚洲一区二区在线播放| 无码人妻一区二区三区一| 亚洲美女一区二区三区| 无码精品国产一区二区三区免费| 亚洲啪啪综合AV一区| 国产一区二区电影在线观看| 亚洲一区二区三区在线观看精品中文 | 国内精品一区二区三区最新 | 91视频一区二区| 精品一区二区三区免费毛片爱| 美女一区二区三区| 一区高清大胆人体| 无码国产精品一区二区免费虚拟VR| 久久久精品人妻一区二区三区蜜桃| 久久久综合亚洲色一区二区三区| 国产在线精品一区二区中文| 国产精品无码不卡一区二区三区 | 亚洲天堂一区在线| 国产日本一区二区三区| 国产日本亚洲一区二区三区| 午夜AV内射一区二区三区红桃视 | 国精品无码A区一区二区| 亚州国产AV一区二区三区伊在| 亚洲一区无码精品色| 国产一区二区三区在线影院| 无码人妻精品一区二区三区66|