Re: How to parse XML in Postgres newer versions also - Mailing list pgsql-general

From Andrus
Subject Re: How to parse XML in Postgres newer versions also
Date
Msg-id E5C5B1781F2B4A2787DF9D68C603F0E8@dell2
Whole thread Raw
In response to Re: How to parse XML in Postgres newer versions also  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: How to parse XML in Postgres newer versions also
Re: How to parse XML in Postgres newer versions also
List pgsql-general
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 ?
 
Andrus.

pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: How to parse XML in Postgres newer versions also
Next
From: Thomas Kellerer
Date:
Subject: Re: How to parse XML in Postgres newer versions also