我有一个存储在 postgresql 表中的 XML 文件,它包含数组属性类型,包含如下值
<Type>
<V Idx="1">Cat</V>
<V Idx="2">Mouse</V>
<V Idx="3">Tree</V>
</Type>
我想使用 postgresql 查询提取“Cat”的 Idx 值。
最佳答案
您可以使用 xpath()
来使用 XPath 表达式提取部分 XML。它将返回一个匹配项数组,因此如果您需要一个标量,则需要选择所需的索引。
要获取文本为 Cat
的第一个 /Type/V
的 Idx
属性,您可以使用:
SELECT (xpath('(/Type/V[text()="Cat"]/@Idx)[1]', nmuloc))[1] idx
FROM elbat;
关于xml - 提取存储在 postgresql 表中的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53928270/