我在SQL Server 2005中一个XML列,它是等价的:如何在SQL Server 2005中选择xml列的顶级属性?
<Test foo="bar">
<Otherstuff baz="belch" />
</Test>
我希望能够得到测试(根元素)为VARCHAR foo的属性值。我的目标是沿着线的东西:
select cast('<Test foo="bar"><Otherstuff baz="belch" /></Test>' as xml).value('@foo','varchar(20)') as Foo
当我运行上面的查询我收到以下错误:
Msg 2390, Level 16, State 1, Line 1 XQuery [value()]: Top-level attribute nodes are not supported
,如果你不知道什么是根元素是什么.. ???在这种情况下,我们知道它是“Test”,但是我有一个XML字段,它具有不同的XML,具体取决于另一个字段中的值。所以它可能是或 ...是否有我们可以使用的默认根元素名称..? –
Ads
2013-02-20 10:12:28