Как получить количество вхождений элемента в данные XML на сервере SQL - PullRequest
0 голосов
/ 19 июля 2011

В моем XML я хочу получить количество вхождений элемента, как я могу это сделать.

например, в приведенном ниже xml, я хочу, чтобы число раз, когда элемент телефона происходил

<Person>
 <Name>abc</Name>
 <Phone>1234</Phone>
 <Phone>9876</Phone>
 <Phone>5678</Phone>
</Person>

Как мне этого добиться? Может ли кто-нибудь помочь мне.

Ответы [ 2 ]

1 голос
/ 20 июля 2011
declare @xml xml='<Person>
 <Name>abc</Name>
 <Phone>1234</Phone>
 <Phone>9876</Phone>
 <Phone>5678</Phone>
</Person>'

select @xml.value('count(//Person/Phone)','int')
1 голос
/ 19 июля 2011

Вы используете XPATH. На этом сайте есть несколько примеров того, как выделить определенный тип узла по имени. http://www.mycodeshare.com/item/1000000009/mssql-xml-query-using-xquery/

Начните там и прокомментируйте, если это не совсем ясно.

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