Я работаю с данными SQL, размещенными сторонними разработчиками, и пытаюсь получить определенную информацию для отчетов. Однако кое-что из того, что мне нужно разобрать, находится в формате XML, и я застреваю. Я ищу синтаксис для получения текста = значения только из кода XML.
Я считаю, что код должен выглядеть примерно так, но большинство примеров, которые я могу найти в Интернете, включают более простую иерархию XML, чем то, с чем я имею дело.
<[columnnameXML].value('(/RelatedValueListBO/Items/RelatedValueListBOItem/text())[1]','varchar(max)')>
Не в состоянии получить какие-либо результаты. Я также попытался объявить пробелы, но опять же ... Я получаю только значения NULL.
Пример XML, с которым я имею дело:
<RelatedValueListBO xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://tempuri.org/RelatedValueListBOSchema.xsd">
<Items>
<RelatedValueListBOItem groupKey="Response1" text="Response1" selected="true" />
<RelatedValueListBOItem groupKey="Response2" text="Response2" selected="true" />
<RelatedValueListBOItem groupKey="Response3" text="Response3" selected="true" />
</Items>
</RelatedValueListBO>
В идеале я хотел бы получить ответ1; response2; response3 в один столбец. Принимая во внимание тот факт, что несколько ответов могут существовать. Я полагаю, что я застрял с основным кодом, который я пробовал, из-за пространств имен, связанных с RelatedValueListBO, и того факта, что то, что я хочу, сгруппировано в groupKey, text и selected, вместо значения, которое я хочу, просто находиться под Узел товаров.