2

我将来自 Google Geocoding API 的 XML 响应存储在 SQL Server XML 列中。有人可以帮助我进行一个查询,该查询将返回 XML 包含 > 1 个结果的所有行吗?

例如

<GeocodeResponse>
  <status>OK</status>
  <result></result> <!-- more than one result is present -->
  <result></result>
  <result></result>
</GeocodeResponse>

所以这样的事情给了我第一个结果:

SELECT XmlResponse.query('/GeocodeResponse/result') FROM Locations

但我不知道从这里去哪里......

4

1 回答 1

2

您可以使用 XML 数据类型的exists()方法来检查是否存在第二个<result>节点。

select *
from Locations
where XmlResponse.exist('GeocodeResponse/result[2]') = 1

在此处测试查询。https://data.stackexchange.com/stackoverflow/q/101340/xmlcolumn-exist

于 2011-05-25T19:20:08.783 回答