日期:2014-05-17  浏览次数:20477 次

xquery查询xml的问题?
sqlserver2008R2。
现在有一张表,有两列,第一列是name,varchar类型,存储每个xml文件的文件名;
第二列是value,xml类型,存储工具生成的xml文件。
想要对value列做这样一个查询:

for $b in /site/people/person 
where $b/@id="person0"
return $b/name

即就是想得出person元素中id="person0"的所有name属性打印出来。
请问用xquery语句怎么写??

WITH XMLNAMESPACES (
'http://schemas.microsoft.com/sqlserver/2013/08/xmark/value' AS V
)
SELECT value.query('
<Person id="{ /V:???/@id }" />
') as Result
FROM table1
where value.exist('
     /V:??? ') = 1



xquery t-sql xml查询

------解决方案--------------------
引用:
你好,请问在查询一个上万行的xml表中,表dbo.xmark有两列,其中第一列NAME,类型为nvarchar(20),第二列是value,类型为xml。

是先把每一行的xml文件读出来放在一个临时变量@x中,然后对@x执行query呢,还是对整个value列执行某种操作就能行?

整个就能行。你重开一帖吧,有人会回复你的。