Как извлечь элемент из файла XML? - PullRequest
2 голосов
/ 02 декабря 2010

У меня есть следующий простой фрагмент 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>

Ответы [ 2 ]

3 голосов
/ 02 декабря 2010

Было бы что-то вроде этого:

SELECT CAST(X.SomeXML AS XML).value('(SimpleRuleValue/EntityFriendlyName)[1]','nvarchar(1000)') AS EntityFriendlyName
FROM XmlSource X

Edit: Немного больше информации.

0 голосов
/ 02 декабря 2010

Вот один из способов:

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)')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...