Re: How to parse xml containing optional elements

Поиск
Список
Период
Сортировка
От Hannes Erven
Тема Re: How to parse xml containing optional elements
Дата
Msg-id 8bd91192-71ac-2989-55c7-bd7115f0ad79@erven.at
обсуждение исходный текст
Ответ на 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
Hi Andrus,


> SELECT
> unnest(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Ntry/ns:Amt/text()',
> x,nsa))::text::numeric AS tasusumma
>     ,
> unnest(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Ntry/ns:NtryDtls/ns:TxDtls/ns:Refs/ns:EndToEndId/text()',
> x,nsa))::text AS orderinr
>    FROM t;


You need to extract all ns:Ntry elements first, and then get the amount
and EndToEndId for each of them:

SELECT
    (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 unnest(xpath('/ns:Document/ns:BkToCstmrStmt/ns:Stmt/ns:Ntry',
x,nsa)) as x, nsa
    FROM t
) Ntry



Best regards,

    -hannes


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

Предыдущее
От: Sridhar N Bamandlapally
Дата:
Сообщение: Re: RETURNS TABLE function: ERROR: column reference "word" is ambiguous
Следующее
От: "Andrus"
Дата:
Сообщение: Re: How to parse xml containing optional elements