如何解决如何从PostgreSQL中的xml文档中提取值
如何从Postgres中的以下xml文档中提取clientid
的值?
我想从此xml中获取值1435
:
CREATE TABLE xmltest3(xtxt xml);
INSERT INTO xmltest3 values ('<clients><client clientId="1435"/></clients>');
SELECT unnest(xpath('./client /text()',xtxt::xml))::text AS XMLDATA FROM XMLTEST3;
我尝试过:
SELECT unnest(xpath('./clients/text()',xtxt::xml))::text AS XMLDATA
FROM XMLTEST3;
但是它不起作用。
此外,如何从中提取ENvalues
?
<ENList><EN ENValue="Liquidity"/><EN ENValue="Treasury"/></ENList>
解决方法
使用self
获取属性值:
@clientId
其他示例的概念相同:
with invar as (
select '<clients><client clientId="1435"/></clients>'::xml as x
)
select unnest(xpath('/clients/client/@clientId',x))
from invar;
unnest
--------
1435
(1 row)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。