用于搜索序列中元素的XPath

时间:2009-01-13 20:23:10

标签: sql xml postgresql

使用xml:

<a>
  <b>
   <c>1</c>
   <c>2</c>
   </c>3</c>
  </b>

我正在尝试创建一个xpath表达式(对于postgresql查询),如果是特定值而不是全部三个值,它将返回。我目前拥有的(不起作用)是:

select * from someTable where xpath ('//uim:a/text()', job, ARRAY[ ARRAY['uim','http://www.cmpy.com/uim'] ])::text[] IN (ARRAY['1','3']);

如果我尝试使用ARRAY ['1'],这将不会返回任何值,但使用ARRAY ['1','2','3']它将返回所有三个值。

如何根据序列中的单个元素进行选择?

感谢。

1 个答案:

答案 0 :(得分:1)

如果您正在询问如何获取XML段中的一个或多个XML元素的值,最简单的方法是简单地利用自定义SQL CLR库和XPath内部分析来汇编并返回您的任何信息欲望。至少那是我的方法。