XPATH - извлечение данных из элементов - PullRequest
0 голосов
/ 26 июня 2010

Ниже приведены данные и оператор Select для работы:

declare @XMLdata xml
set @XMLdata = '
    <taggroup key="pros" name="Le pour">
      <tag isuseradded="false" count="1">Bonne qualité</tag>
      <tag isuseradded="false" count="1">Correspond à mes attentes</tag>
      <tag isuseradded="true" count="1">Impeccable</tag>
      <tag isuseradded="false" count="1">Prix abordable</tag>
    </taggroup>
    '
select      
    ParamValues.ID.value('(./@key)','nvarchar(max)') as TagGroupKey,
    ParamValues.ID.value('(./@name)','nvarchar(max)') as TagGroupName,
    ParamValues.ID.value('(./tag)[1]','nvarchar(max)') as TagValue,
from @XMLData.nodes('taggroup') as ParamValues(ID)

Мне нужно извлечь 4 значения тега (Bonne qualité, Correspond à mes attentes, Impeccable, Prix abordable) без фактическогопереход на уровень тегов, поскольку это влияет на производительность.

1 Ответ

0 голосов
/ 26 июня 2010

Я не уверен на 100%, что вы ищете, но чтобы получить все данные в теге без самого элемента тега, вы должны использовать следующий xpath:

./tag/text()

This (в XPATH,Я не уверен, что SQL-запрос SQL) вернет набор узлов элементов TEXT со всеми значениями в теге отдельно.Таким образом, если бы у вас было 4 элемента тега, было бы четыре отдельных элемента TEXT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...