XML выглядит так:
<saw:deliveryContent format="comma" disposition="attachment" xmlns:saw="uri">
<saw:headline>
<saw:caption>
<saw:text>Beer PMIX Data</saw:text>
</saw:caption>
</saw:headline>
<saw:attachmentMessage>
<saw:caption>
<saw:text>Beer PMIX data used in the PMIX Data - ROQ Stars file.</saw:text>
</saw:caption>
</saw:attachmentMessage>
<saw:reportRef path="Beer PMIX (Scheduled)"/>
</saw:deliveryContent>
Моя таблица результатов должна содержать
text ->Beer PMIX data used in the PMIX Data - ROQ Stars file.
reportRef path ->"Beer PMIX (Scheduled)
Нравится: text|reportRef path
Можно ли получить эти значения непосредственно из запроса или хранимой процедуры?
1 ответ
Ваш xml недействителен, потому что нет объявления префикса - saw
.
Так можно проанализировать слегка измененный xml:
DECLARE @xml xml = '<saw:deliveryContent format="comma" disposition="attachment" xmlns:saw="uri">
<saw:headline>
<saw:caption>
<saw:text>Beer PMIX Data</saw:text>
</saw:caption>
</saw:headline>
<saw:attachmentMessage>
<saw:caption>
<saw:text>Beer PMIX data used in the PMIX Data - ROQ Stars file.</saw:text>
</saw:caption>
</saw:attachmentMessage>
<saw:reportRef path="/shared/BJs Analytics/Departments/Planning/Jon/Agent Reports/Beer PMIX (Scheduled)"/>
</saw:deliveryContent>';
WITH XMLNAMESPACES ('uri' as saw)
SELECT
@xml.value('(saw:deliveryContent/saw:headline/saw:caption/saw:text)[1]','nvarchar(max)'),
@xml.value('(saw:deliveryContent/saw:attachmentMessage/saw:caption/saw:text)[1]','nvarchar(max)'),
@xml.value('(saw:deliveryContent/saw:reportRef/@path)[1]','nvarchar(max)')
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.