2011-02-03 9 views
1

SQL ServerのXQueryの.nodes()で作業していないOfficersXMLと呼ばれるXML列に格納されているfollowng 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) 
+0

あなたは個々の作品を試しましたか?あなたのクロスアプリケーションが何かを与えていることを確かめるためにOfficerXMLを選んだだけのようなものですか?そして、あなたのtbl.col.value(N '....構文があなたの考えであることを確認していることを確認するための別のクエリ? –

答えて

0

ます。また、デフォルトの名前空間に設定された名前空間を使用することができます

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

をお試しください:XMLNAMESPACES WITH (DEFAULT 'URN:reuterscompanycontent:officersdirectors03')

詳細: http://msdn.microsoft.com/en-us/library/ms177607.aspx

+0

それはそれを行いました。 –

関連する問題