2014-06-22 3 views
2

Как я могу получить значение тега инструкции обработки в SQL Server?Получить значение инструкции обработки

declare @x XML = 
'<root> 
    <entity> 
    <?ent LOOKUPS?> 
    </entity> 
    <entity> 
    <?ent STAFF?> 
    </entity> 
    <entity> 
    <?ent SIR?> 
    </entity> 
</root>'; 

SELECT x.xml.value('processing-instruction(ent)[1]','varchar(30)') 
FROM @x.nodes('/root/entity') x(xml); 

ЗЕЬЕСТ возвращает ошибку: Msg 2225, уровень 16, состояние 1, строка 29 XQuery [значение()]: Строковый литерал Ожидалось

ответ

1

Вам нужно двойные кавычки " ent ":

SELECT x.xml.value('data(processing-instruction("ent")[1])','varchar(30)') 
FROM @x.nodes('/root/entity') x(xml); 
Смежные вопросы