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

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 技術(shù)開發(fā) > 數(shù)據(jù)庫 > PostgreSQL中的XML操作函數(shù)代碼

          PostgreSQL中的XML操作函數(shù)代碼

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

          XML內(nèi)容生成部分
          SQL數(shù)據(jù)生成XML的函數(shù)。
          1. xmlcomment:生成注釋函數(shù)。
          xmlcomment(text )
          例:

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

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

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

          連接的XML數(shù)據(jù)中如果有多個版本聲明的話,連接后的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元素函數(shù)
          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進制的數(shù)字表示出來。
          例子:SELECT xmlelement(name “foo$bar”, xmlattributes(‘xyz’ as “a&b”));
          xmlelement
          ———————————-
          <foo_x0024_bar a_x0026_b=”xyz”/>

          4. xmlforest:生成XML FOREST函數(shù)
          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處理命令函數(shù)。
          xmlpi(name target [, content ])
          例:
          SELECT xmlpi(name php, ‘echo “hello world”;’);
          xmlpi
          —————————–
          <?php echo “hello world”;?>

          6. xmlroot:修改XML值的根節(jié)點屬性函數(shù)
          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是集約函數(shù)
          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數(shù)據(jù),PostgreSL中提供了xpath函數(shù)。
          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的映射
          以下函數(shù)可以導(dǎo)出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)
          這些函數(shù)的返回值都是XML類型。

          還有以下函數(shù)。具體內(nèi)容可以參看用戶手冊。
          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)

          標(biāo)簽[db:關(guān)鍵字]

          相關(guān)下載

          查看所有評論+

          網(wǎng)友評論

          網(wǎng)友
          您的評論需要經(jīng)過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 国产成人高清视频一区二区| 一夲道无码人妻精品一区二区 | 亚洲AV一区二区三区四区| 日本精品少妇一区二区三区 | 亚洲Aⅴ无码一区二区二三区软件| 日韩一区精品视频一区二区| av在线亚洲欧洲日产一区二区| 国产精品一区电影| 一区二区不卡在线| 亚洲天堂一区二区三区| 精品国产免费一区二区三区香蕉 | 国产精品熟女视频一区二区| 老熟妇仑乱视频一区二区| 国产爆乳无码一区二区麻豆| 91久久精一区二区三区大全| 中文字幕无码免费久久9一区9| 国产成人无码精品一区不卡| 毛片无码一区二区三区a片视频| 中文字幕乱码人妻一区二区三区| 亚洲一区免费观看| 久久se精品一区二区国产| 久久免费视频一区| 国产亚洲日韩一区二区三区| 中文字幕精品一区| 国产成人无码一区二区三区在线 | 精品无码国产一区二区三区AV | 亚洲av鲁丝一区二区三区| 国精品无码一区二区三区在线| 中文字幕无码免费久久9一区9| 亚洲午夜福利AV一区二区无码| 成人精品一区二区三区不卡免费看| 亲子乱av一区二区三区| 一区在线免费观看| 亚洲综合国产一区二区三区| 亚洲日本精品一区二区| 国产成人一区二区三中文| 日韩在线一区视频| av在线亚洲欧洲日产一区二区| 中文字幕亚洲乱码熟女一区二区 | 久久一区二区精品| 中文字幕精品一区二区|