Как работает .value, когда узлы имеют номера в типе XML - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь получить доступ к узлу, определенному числами вместо текста в типе данных XML сервера SQL.

Почему работает это утверждение

DECLARE @myDoc xml  
DECLARE @ProdID int  
SET @myDoc = '<Root>23</Root>'  

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

Но этот не

DECLARE @myDoc xml  
DECLARE @ProdID int  
SET @myDoc = '<1>23</1>'  
SET @ProdID =  @myDoc.value('(/1)[1]', 'int' )

1 Ответ

0 голосов
/ 05 января 2019

Я изменил строку 3:

DECLARE @myDoc xml  
DECLARE @ProdID int  
SET @myDoc = CAST('<Root>23</Root>' AS XML)

SET @ProdID =  @myDoc.value('(/Root)[1]', 'int' )  
SELECT @ProdID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...