【问题标题】:Extract XML file stored in a postgresql table提取存储在 postgresql 表中的 XML 文件
【发布时间】:2018-12-26 06:32:09
【问题描述】:

我有一个 XML 文件存储在 postgresql 表中,其中包含数组属性类型包含的值如

<Type>
      <V Idx="1">Cat</V>
      <V Idx="2">Mouse</V>
      <V Idx="3">Tree</V>
   </Type>

我想使用 postgresql 查询提取“Cat”的 Idx 值。

【问题讨论】:

标签: xml postgresql


【解决方案1】:

您可以使用xpath() 来使用XPath 表达式提取部分XML。它会返回一个匹配的数组,所以如果你想要一个标量,你需要选择所需的索引。

要获取第一个具有Cat 文本的/Type/VIdx 属性,您可以使用:

SELECT (xpath('(/Type/V[text()="Cat"]/@Idx)[1]', nmuloc))[1] idx
       FROM elbat;

db<>fiddle

【讨论】:

  • 它正在工作,但如果 xml 标头带有 url,则它不起作用。你能帮我吗?例如:dmotorworks.com/sample-test-data-history"> CASHC98鼠标100.00150.00200.00
  • 从这个 xml 我需要获取文本为“cat”的数组的 idx 值,并基于该 Idx 值我需要从具有相同 Idx 值的下一个数组属性中获取 totMiscCost
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 1970-01-01
  • 2023-02-20
  • 2020-12-24
相关资源
最近更新 更多