Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OPENXML не понимает xml с атрибутом xmlns="..." [MSSQL]


alex_*** ©   (2005-11-29 14:55:00) 


<resp_root xmlns=" http://SP_GetGroups_auto">
 <groups id="1" group_name=""group_1"" />
 <groups id="2" group_name=""group_2" ?" />
 <groups id="3" group_name="<group_3>" />
</resp_root>'
EXEC SP_XML_PREPAREDOCUMENT @idoc OUT, @xml
print CAST(@idoc as varchar(10))
SELECT * FROM OPENXML(@idoc,'/resp_root/groups',1) WITH ([id] INT, group_name VARCHAR(50))
EXEC SP_XML_REMOVEDOCUMENT @idoc

не возвращает ничего. Стоит убрать xmlns=...  - работает
Никто не сталкивался с таким?


alex_***   (2005-11-29 16:31:00) [1]

это namespace. Просто слова


Nikolay M.   (2005-11-29 16:24:00) [2]


> Записей не возвращает.

А http://SP_GetGroups_autoчто делает?


alex_***   (2005-11-29 16:11:00) [3]

валидность он проходит. Записей не возвращает. Там же и ответил.


Nikolay M.   (2005-11-29 16:04:00) [4]

Имхо, на скл.ру тебе ответили насчет валидности.
Или, может, я что-то не догоняю? :(


alex_***   (2005-11-29 15:44:00) [5]

блин. Сайт хавает текст xml и преобразует его к нормальному виду :) кавычки, вопросы и '>' надо заменить по правилам xml :). Ну не в этом дело.


alex_***   (2005-11-29 15:43:00) [6]

Насчет ошибки это я извиняюсь. Надо было типа такго выложить :

<groups id="1" group_name=""group_1"" />
<groups id="2" group_name=""group_2" ?" />
<groups id="3" group_name="<group_3>" />

пустой и у меня возвращает. Надо чтоб данные возвращал.


Nikolay M.   (2005-11-29 15:38:00) [7]

Вообще говоря, у меня и с xmlns не работает:

DECLARE @xml NVARCHAR(4000)
DECLARE @idoc INT
SELECT @xml = '<resp_root>
<groups id="1" group_name=""group_1"" />
<groups id="2" group_name=""group_2" ?" />
<groups id="3" group_name="<group_3>" />
</resp_root>'
EXEC SP_XML_PREPAREDOCUMENT @idoc OUT, @xml
print CAST(@idoc as varchar(10))
SELECT * FROM OPENXML(@idoc,'/resp_root/groups',1) WITH ([id] INT, group_name VARCHAR(50))
EXEC SP_XML_REMOVEDOCUMENT @idoc

Server: Msg 6603, Level 16, State 1, Procedure sp_xml_preparedocument, Line 11
XML parsing error: Required white space was missing.


А вот с покоцанными кавычками - все ок, возвращается пустой НД, т.к. http://SP_GetGroups_autoу меня, конечно, нет

DECLARE @xml NVARCHAR(4000)
DECLARE @idoc INT
SELECT @xml = '<resp_root xmlns=" http://SP_GetGroups_auto">
<groups id="1" group_name="group_1"/>
<groups id="2" group_name="group_2"/>
<groups id="3" group_name="group_3"/>
</resp_root>'
EXEC SP_XML_PREPAREDOCUMENT @idoc OUT, @xml
print CAST(@idoc as varchar(10))
SELECT * FROM OPENXML(@idoc,'/resp_root/groups',1) WITH ([id] INT, group_name VARCHAR(50))
EXEC SP_XML_REMOVEDOCUMENT @idoc


Наверх

Титульная страница Поиск, карта сайта Написать письмо