Re: How to parse xml containing optional elements

Поиск
Список
Период
Сортировка
От Hannes Erven
Тема Re: How to parse xml containing optional elements
Дата
Msg-id 93862bb1-56f2-480c-6d60-d3d0ef6574a0@erven.at
обсуждение исходный текст
Ответ на Re: How to parse xml containing optional elements  ("Andrus" <kobruleht2@hot.ee>)
Ответы Re: How to parse xml containing optional elements  ("Andrus" <kobruleht2@hot.ee>)
Список pgsql-general
Andrus,


> Psotgres 9.1 run isn Debian Squeeze which is unsupported.
> How to upgrade in Debian Squeeze ?

A plain "apt-get upgrade postgresql-9.1" does not work?
It might help to enable the postgresql.org APT repository. For
instructions, see here:
https://www.postgresql.org/download/linux/debian/


> How to add IBAN column to result table? This column has same value for
> all rows.

SELECT
     endaaa,
     (xpath('ns:Amt/text()', x,nsa))[1]::text::numeric AS tasusumma,
     (xpath('ns:NtryDtls/ns:TxDtls/ns:Refs/ns:EndToEndId/text()',
x,nsa))[1] AS orderinr

FROM (
     SELECT
(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Acct/ns:Id/ns:IBAN/text()',
x,nsa))[1] as endaaa,
     unnest(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Ntry',
x,nsa)) as x, nsa
     FROM t
) Ntry

Be careful, this will only work when there is exactly one ns:Stmt
element in the document.
Else you will have to build a third query level, first selecting the
ns:Stmt entries, second the IBAN and Ntry from them and third amount and
EndToEndId.


-hannes



В списке pgsql-general по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Critical failure of standby
Следующее
От: "Andrus"
Дата:
Сообщение: Re: How to parse xml containing optional elements