【发布时间】:2015-11-02 02:53:35
【问题描述】:
我正在处理一些 xml 列,并使用 XQuery 查找特定子项(子项 E)的第一个最近的祖先(B),但出现此错误:
消息 9335,级别 16,状态 1,第 16 行 XQuery [query()]:XQuery 不支持语法“祖先”。
祖先和后代的深度级别不是静态的,我希望结果为“B2” 我试过了
DECLARE @x xml
SET @x = CAST(
'<A>
<B name="B1">
<C>
<B id="1" name="B2">
<D id="1.1" name="D1">
<E id="1" />
<E id="2" />
</D>
</B>
</C>
</B>
</A>' AS xml)
SELECT @x.query('data(//E/ancestor::B[1]/@name)')
你能帮帮我吗?
【问题讨论】:
-
你知道B和E之间有多少级吗?
-
不,我不知道,谢谢你的回答
标签: sql-server xml sql-server-2008 tsql xquery