2010-11-22 7 views
3
SELECT xmlserialize (DOCUMENT (
    SELECT xmlroot(
    xmlelement(name root, 
     xmlelement(name value, 'test') 
    ), version '1.0') 
) AS text); 

リターン:XMLタイプをテキストにシリアル化するとき、PostgreSQLにXML宣言は含まれていませんか?

<ルート> <値>テスト< /値> < /ルート>

私が欲しい(と予想):?

< XMLバージョン= '1.0'? > <ルート> <値>テスト< /値> < /ルート>

私は行くことができる。もちろん、

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

が、その後XMLRootはを含むのポイントは何ですか?

答えて

5

(私は、v8.3.7でのWindows XP上のv8.4.4 & v9.0.0を実験した)

xmlrootstandaloneオプションがyesまたはnoの値が使用されている場合には、XML宣言が含まれています

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

完璧、ありがとう! – markmnl

関連する問題