如果我在XML文档中有几个Section
元素,我用什么XQuery获取所有name
值的列表?XQuery获取属性列表
<Section name="New Clients" filePath="XNEWCUST.TXT" skipSection="False">
如果我在XML文档中有几个Section
元素,我用什么XQuery获取所有name
值的列表?XQuery获取属性列表
<Section name="New Clients" filePath="XNEWCUST.TXT" skipSection="False">
在XPath 2.0(这是的XQuery的一个子集)一种将使用下面的表达式来获得“名称”的所有的字符串值的序列属性“部分”元素:
for $attr in //Section/@name
return string($attr)
请注意使用“//”的缩写通常是不好的做法,因为这可能需要一个整体(子树)待运行。在文档结构已知的任何情况下,应该优选更具体的XPath表达式(例如使用特定位置步骤的表达式)。
/Section/@name
这将选择XML文档的唯一顶级元素的“name”属性节点,如果顶部元素恰巧成为“部分”元素。 OP要求的是XML文档中* all *“Section”元素的“名称”属性的*字符串值序列*。 – 2008-11-27 17:48:28
//Section/@name
或
//Section/@name/string(.)
的字符串值
谢谢,我所需要的是一个返回concat(字符串($ attr),“ - ”)来分隔值。 – ProfK 2008-11-27 18:15:57