Re: How to parse XML in Postgres newer versions also

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: How to parse XML in Postgres newer versions also
Дата
Msg-id CAFj8pRCKnT_hiHeS268e5SNryY0dDUFaBDe9qvMBLT5TBqC2Wg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: How to parse XML in Postgres newer versions also  ("Andrus" <kobruleht2@hot.ee>)
Список pgsql-general


ne 17. 3. 2019 v 15:11 odesílatel Andrus <kobruleht2@hot.ee> napsal:
Hi
 
>This variant is working
>postgres=#  SELECT
>    (xpath('/ns:Ntry/ns:Amt/text()', x,nsa))[1]::text::numeric AS tasusumma
>    FROM (
>        SELECT unnest(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Ntry',
>x,nsa)) as x,
>        nsa
>        FROM t
>    ) Ntry
>;
>But I have not a idea, why old code doesn't work. It is little bit strange so it worked without namespace before Amt tag.
In 9.1.5 it returns nulls
 
In 9.1.5 without namespaces
 
(xpath('Amt/text()', x,nsa))[1]::text::numeric AS tasusumma
 
works.
 
How to make it work in both versions?
Is it possible add some CASE WHEN or IF command  or any other idea ?

Probably this bugfix breaks your code


9.1 is unsupported release, so if you can, just fix it for supported releases.

else where, you need to prepare two different expressions.

Regards

Pavel
 
Andrus.

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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: How to parse XML in Postgres newer versions also
Следующее
От: Tom Lane
Дата:
Сообщение: Re: How to parse XML in Postgres newer versions also