用于获取属性列表的XQuery

2022-04-02 00:00:00 xpath xquery sql-server

如果我在一个XML文档中有几个Section元素,我应该使用什么XQuery来获取所有name值的列表?

<Section name="New Clients" filePath="XNEWCUST.TXT" skipSection="False">

解决方案

在XPath 2.0(它是XQuery的子集)中,可以使用以下表达式来获取"Section"元素的"Name"属性的所有字符串值的序列:

for $attr in //Section/@name
 return string($attr)

请注意,使用"//"缩写通常是一种不好的做法,因为这可能需要遍历整个(子树)。在任何已知文档结构的情况下,应该首选更具体的XPath表达式(例如使用特定定位步骤的表达式)。

相关文章