Есть ли способ извлечь данные в формате XML из таблицы PostgreSQL, поле которой отличается от поля типа данных XML? - PullRequest
0 голосов
/ 11 марта 2020

Я хочу получить данные из базы данных в формате XML, используя JDB C и Postgresql, но данные хранятся в формате id, name, age.

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Другой вариант - использовать расширение Saxon XSLT:

<persons>
   <sql:query connection="sql:connect(....)" table="t"/>
</persons>

http://www.saxonica.com/documentation/index.html#! sql -extension

После этого вы получите XML в таблицу стилей XSLT, которая может манипулировать ею в конечном формате, который вам действительно нужен.

0 голосов
/ 11 марта 2020

Добро пожаловать в SO.

Используйте комбинацию xmlelement и xmlforest следующим образом.

Образец данных

CREATE TEMPORARY TABLE t 
(id INTEGER, name TEXT, age INTEGER);
INSERT INTO t VALUES (1,'John',25);
INSERT INTO t VALUES (2,'Jane',22);

Запрос:

SELECT 
  xmlelement(name person,
    xmlforest(id, name, age) 
  )
FROM t;
                        xmlelement                         
-----------------------------------------------------------
 <person><id>1</id><name>John</name><age>25</age></person>
 <person><id>2</id><name>Jane</name><age>22</age></person>
(2 Zeilen)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...