postgresql 如何使用posgresSQL到达xml中的第二个前缀

4si2a6ki  于 2023-01-25  发布在  PostgreSQL
关注(0)|答案(1)|浏览(179)

问题是我需要从xml中提取数据,我知道如何提取它们,但是我不能传递前缀,也许你能帮忙

<ns2:PositiveInfo xmlns:ns2="http://ws.nGCR">
                <BatchResponse xmlns="http://katana">
                    <Header>
                        <BatchId>11480644</BatchId>
                        <State>Finished</State>
                        <BeginTimeStamp>2022-09-10T10:21:48Z</BeginTimeStamp>
                        <TimeStamp>2022-09-10T10:21:50Z</TimeStamp>
                        <FinishTimeStamp>2022-09-10T10:21:50Z</FinishTimeStamp>
                        <Duration>2.3571</Duration>
                        <Identifier>600e19f5cc5b4707944b126cc8f6103a</Identifier>
                        <Subscriber>2810192</Subscriber>
    .....

现在im在PositiveInfo前缀中,如何到达BatchResponse前缀?
到现在为止我有这样的疑问:

select *
from(
select unnest(xpath('/responseContainer/ns2:Report/ns2:Registers/ns2:PositiveInfo',  
       response_body::XML,  
       array[array['ns2','http://ws.nGCR']]))::XML as test
from stage_lt.cb_data_execution_entry_details deed
where  id = 178752351)xx
oyjwcjzk

oyjwcjzk1#

要选择名称在http://katana名称空间中的BatchResponse元素,需要将另一个前缀(例如katana)绑定到名称空间URIhttp://katana,就像将ns2前缀绑定到名称空间URIhttp://ws.nGCR一样,然后可以将katana:用作XPath表达式中的名称空间前缀,例如/responseContainer/ns2:Report/ns2:Registers/ns2:PositiveInfo/katana:BatchResponse

相关问题