2012-01-18 12 views
3

は、どのように私は次のXML文書T-SQL XMLクエリ

DECLARE @xVar XML 
SET @xVar = 
    '<reportdata genre="security" publicationdate="2002" ISBN="0-7356-1588-2"> 
    <title>Writing Secure Code</title> 
    <author> 
     <first-name>Michael</first-name> 
     <last-name>Howard</last-name> 
    </author> 
    <author> 
     <first-name>David</first-name> 
     <last-name>LeBlanc</last-name> 
    </author> 
    <price>39.99</price> 
    </reportdata>' 

SELECT [Title]= reportdata.item.value('@title', 'varchar(40)') 

FROM @xVar.nodes('/reportdata') AS reportdata(item) 

このクエリは常にnullを返し、任意のアイデアでタイトルを得ることができますか?

答えて

3

titleは、属性ではない要素です。以下の作品。

SELECT [Title]= reportdata.item.value('.', 'varchar(40)') 
FROM @xVar.nodes('/reportdata/title[1]') AS reportdata(item) 
+0

ありがとう – klashagelqvist

2

あなたは一つの値だけが欲しい場合FROM句でXMLを細断処理す​​る必要はありません。

SELECT [Title]= @xVar.value('(/reportdata/title)[1]', 'varchar(40)') 
関連する問題