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

Подскажите пож, что не так? Возвращает 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
Извлечь данные их XML
    #39684645
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jango77,

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

Код: 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
Извлечь данные их XML
    #39684663
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Извлечь данные их XML
    #39684683
jango77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Извлечь данные их XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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