首先:是的,我读过this post关于OpenXML和postgres的文章。
xpath()中检索到的每一件可能的东西,都必须编写一个XML,这似乎非常麻烦。关于这个转换,你有什么建议吗?还有一个更好的替代xpath()的方法,我还没见过呢?谢谢!
发布于 2016-02-25 16:40:34
经过大量研究后:
1)是的,似乎是这样的。
( 2)是的,这有点痛苦,制作了一个内部程序,它抓住了潜在的XML路径,并为我们创建了一个脚本,只需要手工进行一些调整。
谢谢
发布于 2021-07-22 11:50:40
PostgreSQL中的模拟OPENXML (希望xmltable按照它们在输入xml中出现的顺序查看节点):
CREATE OR REPLACE FUNCTION openxml (
p_xml xml
)
RETURNS TABLE (
id integer,
parent_id integer,
element_name text,
element_data text
) AS
$body$
DECLARE
BEGIN
return query
with t as (SELECT *
from xmltable('//*'
passing p_xml
columns
id for ORDINALITY,
element_name text path 'local-name()',
parent_name text path 'local-name(..)',
element_data text path 'text()[1]'
))
select t.id,
(select max(t1.id) from t t1 where t1.id<t.id and t.parent_name=t1.element_name)as parent_id,
t.element_name,
t.element_data
from t;
END;
$body$
LANGUAGE 'plpgsql';https://stackoverflow.com/questions/32995786
复制相似问题