Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Извлечь данные их XML / 5 сообщений из 5, страница 1 из 1
08.08.2018, 10:22
    #39684640
jango77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечь данные их XML
Приветствую

Подскажите пож, что не так? Возвращает NULL

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
DECLARE @xml xml
SET @xml = '
<pre>code: 93123
codeID: 3320
from: 20033
to: 39566
capacity: 2000000
operator: Мегафон
operatorID: 293243261
region: Санкт-Петербург
regionID: 185232
</pre>'

DECLARE @XmlDocumentHandle int
EXEC sp_xml_preparedocument @XmlDocumentHandle out, @xml

SELECT REGION
FROM OPENXML(@XmlDocumentHandle, '/pre',1) 
WITH (
         REGION  varchar(50) '@region'
      )

EXEC sp_xml_removedocument @XmlDocumentHandle
...
Рейтинг: 0 / 0
08.08.2018, 10:27
    #39684645
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечь данные их XML
jango77,

это новый формат xml такой?
...
Рейтинг: 0 / 0
08.08.2018, 10:29
    #39684646
jango77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечь данные их XML
та знаю что не верный
пробовал так привести к верному формату

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
DECLARE @txt nvarchar(1000)
DECLARE @xml xml
SET @txt = N'
<pre>code: 93123
codeID: 3320
from: 20033
to: 39566
capacity: 2000000
operator: Мегафон
operatorID: 293243261
region: Санкт-Петербург
regionID: 185232
</pre>'

SET @xml = CAST(REPLACE(@txt, ': ', '=') as xml)
...
Рейтинг: 0 / 0
08.08.2018, 10:45
    #39684663
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечь данные их XML
jango77,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<pre code="93123"
codeID= "3320"
from= "20033"
to= "39566"
capacity= "2000000"
operator= "Мегафон"
operatorID= "293243261"
region= "Санкт-Петербург"
regionID= "185232"
/>'
...
Рейтинг: 0 / 0
08.08.2018, 11:09
    #39684683
jango77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечь данные их XML
TaPaK , Спасибо, сработало
Вот работающий код

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
DECLARE @txt nvarchar(1000)
DECLARE @xml xml
SET @txt = N'
<pre>code: 93123
codeID: 3320
from: 20033
to: 39566
capacity: 2000000
operator: Мегафон
operatorID: 293243261
region: Санкт-Петербург
regionID: 185232
</pre>'


SET @xml = CAST(
                      STUFF(
			 REPLACE(
			   REPLACE(
			     REPLACE(
			       REPLACE(@txt, ': ', '="'), 
			     CHAR(10), '" '),
			   '<pre>', '<pre '), 
			 '</pre>', '/>'), 
		       1, 1, '')    
		     as xml)

				 
DECLARE @XmlDocumentHandle int
EXEC sp_xml_preparedocument @XmlDocumentHandle out, @xml

SELECT REGION
FROM OPENXML(@XmlDocumentHandle, '/pre',2) 
WITH (
         REGION  varchar(50) '@region'
      )

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


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