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

retours:Lors de la sérialisation d'un type XML en texte, PostgreSQL n'inclut pas la déclaration XML, n'est-ce pas?

<racine> <valeur> Test </valeur > </racine >

Je veux (et attendu):

< xml version = '1.0'? > <racine> <valeur> Test </valeur > </racine >

Bien sûr, je pourrais aller:

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

mais quel est le point d'inclure XMLRacine?

Répondre

5

(j'ai expérimenté avec v8.3.7, v8.4.4 & v9.0.0 sous Windows XP)

Il comprend la déclaration xml si l'option standalone de xmlroot est utilisé avec une valeur de yes ou no:

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

Parfait, merci! – markmnl