У меня есть следующий простой фрагмент XML, показанный ниже.Как бы выглядел T-SQL, если бы я хотел просто извлечь атрибут EntityFriendlyName?
<SimpleRuleValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EntityId>0</EntityId> <EntityFriendlyName>ALine</EntityFriendlyName> </SimpleRuleValue>
Было бы что-то вроде этого:
SELECT CAST(X.SomeXML AS XML).value('(SimpleRuleValue/EntityFriendlyName)[1]','nvarchar(1000)') AS EntityFriendlyName FROM XmlSource X
Edit: Немного больше информации.
Вот один из способов:
declare @x xml set @x = '<SimpleRuleValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EntityId>0</EntityId> <EntityFriendlyName>ALine</EntityFriendlyName> </SimpleRuleValue>' select @x.query('data(SimpleRuleValue/EntityFriendlyName)')