3
使用XPath / XQuery连接同一XML元素的所有值
我有这样的XML值: <R> <I>A</I> <I>B</I> <I>C</I> ... </R> 我想连接所有I值并将它们作为单个字符串返回:ABC...。 现在我知道我可以切碎XML,将结果聚合为无节点XML,然后应用于.values('text()[1]', ...)结果: SELECT ( SELECT n.n.value('text()[1]', 'varchar(50)') AS [text()] FROM @MyXml.nodes('/R/I') AS n (n) FOR XML PATH (''), TYPE ).value('text()[1]', 'varchar(50)') ; 但是,我只想使用XPath / XQuery方法来做所有事情,就像这样: SELECT @MyXml. ? ( ? ); 有这种方法吗? 我正在朝这个方向寻找解决方案的原因是因为我的实际XML也包含其他元素,例如: <R> <I>A</I> <I>B</I> <I>C</I> ... <J>X</J> <J>Y</J> <J>Z</J> ... …