SQL Server XQuery无法使用.nodes()

时间:2011-02-03 23:14:55

标签: sql-server xml xquery

给出以下xml doc,存储在名为Officers XML的列中:

<Officers xmlns="urn:reuterscompanycontent:officersdirectors03" Major="3" Minor="0" Revision="2" lang="en-US">
  <RepNo>0004N</RepNo>
  <CompanyName Type="Primary">Alpharma Inc.</CompanyName>
</Officers>

为什么以下返回0行?

SELECT tbl.col.value(N'(./CompanyName)[1]',N'nvarchar(4000)') 
FROM dbo.RawData rd
CROSS APPLY OfficersXML.nodes(N'/Officers') tbl(col)

1 个答案:

答案 0 :(得分:0)

尝试

SELECT tbl.col.value(N'(*:CompanyName)[1]',N'nvarchar(4000)') 
FROM dbo.RawData rd
CROSS APPLY OfficersXML.nodes(N'/*:Officers') tbl(col)

您还可以将with namespace设置为默认命名空间: WITH XMLNAMESPACES(DEFAULT'瓮:reuterscompanycontent:officersdirectors03')

更多信息: http://msdn.microsoft.com/en-us/library/ms177607.aspx