Использование XQuery в SQL Server 2005 для получения внутреннего текста XML - PullRequest
1 голос
/ 09 марта 2009

Как выбрать внутренний текст узла XML с помощью XQuery?

Microsoft Books Online показывает, как получить атрибут ниже:

DECLARE @myDoc xml
DECLARE @ProdID int
SET @myDoc = '<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>'

SET @ProdID =  @myDoc.value('(/Root/ProductDescription/@ProductID)[1]', 'int' )
SELECT @ProdID

Как получить внутреннее текстовое значение узла Гарантия?

1 Ответ

6 голосов
/ 09 марта 2009

Примерно так:

DECLARE @Warranty VARCHAR(50)

SET @Warranty = @myDoc.value('(/Root/ProductDescription/Features/Warranty/text())[1]', 'varchar(50)' )

SELECT @Warranty

Марк

...