powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Парсинг XML из VARCHAR
4 сообщений из 4, страница 1 из 1
Парсинг XML из VARCHAR
    #39829948
mairod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Возникла такая проблема. Есть таблица в которой в столбец VARCHAR записывается XML строчка:

Код: xml
1.
<form><text id="sbkorustypework" label="Тип работ КОРУС" mandatory="false" sbfield="" sbgroupid="" sbmask="" sbmodify="false" sbstyle="" sbtitle="" sbtype="string" visible="true">Стандартные FLM работы на УС</text><text id="sbkorusclasswork" label="Вид работ КОРУС" mandatory="false" sbfield="" sbgroupid="" sbmask="" sbmodify="false" sbstyle="" sbtitle="" sbtype="string" visible="true">Первичная диагностика сбоев УС по связи</text><text id="sbkorusfuncblock" label="Функциональный блок" mandatory="false" sbfield="" sbgroupid="" sbmask="" sbmodify="false" sbstyle="" sbtitle="" sbtype="string" visible="true">Связь</text></form>



Попробовал значение забрать таким способом:

Код: sql
1.
select [KORUS_NEW] = x.t.value('@id','sbkorustypework') from [options1].nodes('//text') as x(t)



Но ругается что XMLDT-метод "nodes" может быть применен к столбцам типа xml.

Как быть?
...
Рейтинг: 0 / 0
Парсинг XML из VARCHAR
    #39829951
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
declare @x xml = '<form><text id="sbkorustypework" label="Тип работ КОРУС" mandatory="false" sbfield="" sbgroupid="" sbmask="" sbmodify="false" sbstyle="" sbtitle="" sbtype="string" visible="true">Стандартные FLM работы на УС</text><text id="sbkorusclasswork" label="Вид работ КОРУС" mandatory="false" sbfield="" sbgroupid="" sbmask="" sbmodify="false" sbstyle="" sbtitle="" sbtype="string" visible="true">Первичная диагностика сбоев УС по связи</text><text id="sbkorusfuncblock" label="Функциональный блок" mandatory="false" sbfield="" sbgroupid="" sbmask="" sbmodify="false" sbstyle="" sbtitle="" sbtype="string" visible="true">Связь</text></form>';

select a.value('@id', 'varchar(255)') from @x.nodes('//text') n(a);
...
Рейтинг: 0 / 0
Парсинг XML из VARCHAR
    #39829958
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
select
 [KORUS_NEW] = x.t.value('@id','sbkorustypework')
from
 [Есть таблица] a cross apply
 (select cast(a.[столбец VARCHAR] as xml)) b(x) cross apply
 b.x.nodes('//text') as x(t);
...
Рейтинг: 0 / 0
Парсинг XML из VARCHAR
    #39830039
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mairod,

явно привести к нужному типу. Всегда явно приводите к нужному типу для гарантии результата.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Парсинг XML из VARCHAR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]